在接入百度定位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 中声明后台定位权限!!!

  <!-- Android 11 必须加后台定位权限,否则不会出现始终允许--><uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

第二步:java 代码请求后台定位权限

 if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.R)requestPermission.launch(Manifest.permission.ACCESS_BACKGROUND_LOCATION);// 注意,不会有系统弹框,需要我们自己写代码,让用户跳转到设置页面去选择

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

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

  1. android 百度地图闪退,Android使用百度地图出现闪退及定位时显示蓝屏问题的解决方法...

    使用百度地图出现闪退 一般情况下出现闪退是在AndroidManifest.xml文件中未在application标签中配置 android:name="com.baidu.lbsapi.A ...

  2. Android R默认开启“自动切换到移动数据”选项

    Android R默认开启"自动切换到移动数据"选项 操作步骤 修改方案 操作步骤 设置 - 网络和互联网 - wlan - wlan偏好设置 - 高级 - 观察 注意:需要插卡测 ...

  3. 计算机d盘的权限怎么解决,D盘没权限,不能删除更改任何文件解决方法

    D盘没权限,不能删除更改任何文件解决方法 今天接到一单,很奇怪 首先肯定是安全里添加 权限了 添加了,还是不行,添加 了所有用户权限 都不行 后来发现可以用已经安装在D盘程序的自带卸载工具来卸载本身 ...

  4. [转]Android fragment 重叠问题——通过hide,show方式导致的解决方法

    [转]Android fragment 重叠问题--通过hide,show方式导致的解决方法 参考文章: (1)[转]Android fragment 重叠问题--通过hide,show方式导致的解决 ...

  5. 429 too many requests错误出现在wordpress后台更新及官网的5种解决方法

    429 too many requests错误出现在wordpress后台更新及官网的5种解决方法 参考文章: (1)429 too many requests错误出现在wordpress后台更新及官 ...

  6. Android 在Fragment中执行onActivityResult不被调用的简单解决方法

    Android 在Fragment中执行onActivityResult不被调用的简单解决方法 参考文章: (1)Android 在Fragment中执行onActivityResult不被调用的简单 ...

  7. Android项目中出现的Plugin with id ‘kotlin-android‘ not found解决方法

    Android项目中出现的Plugin with id 'kotlin-android' not found解决方法 参考文章: (1)Android项目中出现的Plugin with id 'kot ...

  8. python元素定位input button_python+selenium 定位到元素,无法点击的解决方法

    报错 selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75 ...

  9. layui table 分页 序号始终从”1“开始解决方法

    layui table 分页 序号始终从"1"开始解决方法 参考文章: (1)layui table 分页 序号始终从"1"开始解决方法 (2)https:// ...

最新文章

  1. 深度洞见|起底元宇宙风潮,如何重塑未来数字营销?
  2. java 事务的提出者_java中什么是事务
  3. 为什么买入不了创业版_详解实战抄底——如何抄到下引线的最底端。及妖股的首板买入点...
  4. python加密敏感信息_仅需10行代码,使用python加密用户敏感数据
  5. ajax漏洞 console_在实战中可能碰到的几种ajax请求方法详解
  6. 微服务设计模式(下)
  7. linux下can调试工具canutils安装过程记录
  8. Visual Studio 2013/2015/2017快捷键(转)
  9. 浅析计算机科学在经济犯罪中的特征与表现
  10. 【物联网毕设基础】实时时钟芯片 DS1302 介绍
  11. 传感器自学笔记第三章——LM393电压比较芯片+MQ_2烟雾传感器
  12. 服务器加网站防盗链,自己做网站如何做防盗链设置
  13. 【跨域】springBoot + VUE解决跨域问题几种处理方案
  14. FastJson解析错误:com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze
  15. 计算机财务函数pmt,《5个财务函数FV、PV、PMT、NPER与RATE》.docx
  16. 给加西亚的信》--如何做一名优秀员工
  17. itpt_TCPL 第一章:C简要教程
  18. GitHub消除马赛克项目
  19. 程序员的12条经营分享
  20. HarmonyOS实现点亮LED

热门文章

  1. 论文阅读笔记:YOLO9000: Better,Faster,Stronger
  2. html5地图大头针,iOS高德地图之自定义大头针and泡泡view
  3. 修改ActiveMQ的内存大小
  4. VMware虚拟机使用无线网络
  5. python中frame=none是什么意思啊_在python的init函数中,master和master=none的目的是什么?...
  6. 【CentOS7联网】保姆级手把手解决CentOS7的上网问题
  7. 黑马程序员---面向对象上(封装,继承,多态)
  8. android自定义起止时间的时间刻度尺,Android 自定义 View 刻度尺
  9. linux io栈(读写流程)
  10. 简单教程:修改txt文件的图标