在新项目中安装应用程序时自动授予危险权限 [React Native - Android]

Rus*_*hah 5 android react-native runtime-permissions

我已经从 React Native cli 安装了很棒的项目并在 Android 构建中运行它。效果很好。

当我添加时,低于危险许可

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Run Code Online (Sandbox Code Playgroud)

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

我检查了应用程序信息,默认情况下已授予该权限。

笔记:

  • 最小版本:23
  • 目标和编译版本:29
  • 反应本机版本:0.64.0

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

小智 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);
  }
};
Run Code Online (Sandbox Code Playgroud)

  • 这是为了征求用户的许可。但就我而言,我只是在清单中声明权限并授予它。危险的权限。 (3认同)