Android R 11 后台定位权限没有 始终允许选项的解决方法

您所在的位置:网站首页 谷歌怎么关闭定位权限设置 Android R 11 后台定位权限没有 始终允许选项的解决方法

Android R 11 后台定位权限没有 始终允许选项的解决方法

2024-07-15 10:41| 来源: 网络整理| 查看: 265

在接入百度定位SDK 时,看到文档上说要注意android 11的权限相关问题,果然是个坑,在Android 10 11 上都出现一些问题,本文记录解决 android 11 定位权限问题的方法

申请不了后台定位 android 11 有不同的定位策略,前台权限和后台权限:

这里有2种场景,第一种情况是当仅请求前台权限,在这种情况下,我们通常使用ACCESS_FINE_LOCATION 或者ACCESS_COARSE_LOCATION, 但是,请求授权的弹窗和以前的略有不同,在Android 11 中,Google 增加了一个可选项 允许本次 请注意,即使将ACCESS_BACKGROUND_LOCATION添加到要请求的权限列表中,系统也将忽略它。

第二种情况是:应用也需要后台权限,为此,你必须准备自己的对话框,并使用明确的消息来说明后台位置的使用。

当用户同意后,将他引导到应用设置页面,那里可以选择他想授予的权限等级。

显然问题是出现在了后台权限上

去系统设置页检查权限的时候: 这是我的DEMO: 只有三个选项! 这是高德地图:请添加图片描述 可以看到,高德地图比我的DEMO 多了一个始终允许。

解决方法 第一步: ManiFest.xml 中声明后台定位权限!!! 第二步:java 代码请求后台定位权限 if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.R) requestPermission.launch(Manifest.permission.ACCESS_BACKGROUND_LOCATION); // 注意,不会有系统弹框,需要我们自己写代码,让用户跳转到设置页面去选择

此时就会有 始终允许 的选项了!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3