在 android 位置权限中始终看不到允许
Not seeing always allow in android location permission
我一直在尝试使用 React Native ble librairie (react-native-ble-manager)。为了使用它,用户必须允许位置权限(如文档 android.permission.ACCESS_COARSE_LOCATION 和 android.permission.ACCESS_FINE_LOCATION 中所述,如果 android API >= 29。
我要求授权作为他们的例子:
(PermissionsAndroid 来自 react-native 库):
if (Platform.OS === 'android' && Platform.Version >= 23) {
PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION).then((result) => {
if (result) {
console.log("Permission is OK");
} else {
PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION).then((result) => {
if (result) {
console.log("User accept");
} else {
console.log("User refuse");
}
});
}
});
}
在我的设备上,弹出窗口要求我进行授权,只有两个选择:
- 仅当应用程序为运行
- 拒绝
但是对于他们的示例,我有 3 个选择,另外两个和“始终授权”
并且出于某种原因,如果我不总是批准,我将无法扫描外围设备(我已经能够通过进入它的设置来为我的应用程序更改为始终)。
我的 android 清单的一部分 (android/app/src/main)(如你所见,我有 background_location)
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
我确定我错过了一个明显的东西,但我看不到什么..
提前谢谢你:)
对于那些有同样问题的人:我的 phone 有 android 11 所以不能直接在弹出窗口中请求。
您必须向您的用户指示如何更改权限
资料来源:https://developer.android.com/training/location/permissions
我一直在尝试使用 React Native ble librairie (react-native-ble-manager)。为了使用它,用户必须允许位置权限(如文档 android.permission.ACCESS_COARSE_LOCATION 和 android.permission.ACCESS_FINE_LOCATION 中所述,如果 android API >= 29。 我要求授权作为他们的例子: (PermissionsAndroid 来自 react-native 库):
if (Platform.OS === 'android' && Platform.Version >= 23) {
PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION).then((result) => {
if (result) {
console.log("Permission is OK");
} else {
PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION).then((result) => {
if (result) {
console.log("User accept");
} else {
console.log("User refuse");
}
});
}
});
}
在我的设备上,弹出窗口要求我进行授权,只有两个选择:
- 仅当应用程序为运行
- 拒绝
但是对于他们的示例,我有 3 个选择,另外两个和“始终授权”
并且出于某种原因,如果我不总是批准,我将无法扫描外围设备(我已经能够通过进入它的设置来为我的应用程序更改为始终)。
我的 android 清单的一部分 (android/app/src/main)(如你所见,我有 background_location)
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
我确定我错过了一个明显的东西,但我看不到什么.. 提前谢谢你:)
对于那些有同样问题的人:我的 phone 有 android 11 所以不能直接在弹出窗口中请求。 您必须向您的用户指示如何更改权限 资料来源:https://developer.android.com/training/location/permissions