在新项目 [React Native - Android]

问题描述

我已经从 react native cli 安装了很棒的项目并在 android build 中运行它。 它工作正常。

当我添加时,低于危险权限

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

在我的 android manifest.xml 中运行项目,它在应用安装时自动授予。

我检查了应用信息,认情况下会授予它。

注意:

  • 最小版本:23
  • 目标和编译版本:29
  • React 原生版本:0.64.0

所以当我以编程方式检查权限时,它总是被授予。不应该。

解决方法

来自 RN 网站: (https://reactnative.dev/docs/permissionsandroid)

const requestPermissions = async () => {
  try {
    const granted = await PermissionsAndroid.request(
      PermissionsAndroid.ACCESS_FINE_LOCATION,{
        title: "your title",message:
          "your message",buttonNeutral: "Ask Me Later",buttonNegative: "Cancel",buttonPositive: "OK"
      }
    );
    if (granted === PermissionsAndroid.RESULTS.GRANTED) {
      console.log("GPS permission ok");
    } else {
      console.log("GPS permission not ok");
    }
  } catch (err) {
    console.warn(err);
  }
};