问题描述
我已经从 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);
}
};