在android位置权限中看不到总是允许
Posted
技术标签:
【中文标题】在android位置权限中看不到总是允许【英文标题】:Not seeing always allow in android location permission 【发布时间】:2021-04-14 09:08:36 【问题描述】:我一直在尝试使用 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"/>
我确定我遗漏了一个明显的东西,但我看不到什么.. 提前谢谢你:)
【问题讨论】:
【参考方案1】:对于那些有同样问题的人:我的手机有 android 11,所以不能在弹出窗口中直接请求。 您必须向您的用户说明如何更改权限 来源:https://developer.android.com/training/location/permissions
【讨论】:
虽然这可能会回答这个问题,但如果可能的话,您应该edit 您的答案在答案本身提供的链接中包含最重要的信息。如果链接停止工作或内容发生重大变化,这有助于防止您的答案无效。以上是关于在android位置权限中看不到总是允许的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的模型在关系子查询中看不到 spatie 权限特征方法?