Android 10 定位权限问题

问题:
1,有人反馈点位有大量重复的,打开源码看了一下日志,高德定位只要离开APP,打开其他APP后隔一段时间就开始定位错误,信息如下:


错误码: 13
错误描述: 定位失败,由于未获得WIFI列表和基站信息,且GPS当前不可用,建议开启设备的WIFI模块,并将设备中插入一张可以正常工作的SIM卡,或者检查GPS是否开启;如果以上都内容都确认无误,请您检查App是否被授予定位权限

2,离开自己的APP后,显示的定位信息,时间和点位都是不变的

分析:
根据描述,唯一可以查看的就是权限问题,然后进入应用的权限看下定位,看到的是仅使用期间允许被选中,但印象中明显记得有个"始终允许"选项,这个怎么没有呢,故找到原因

解决:
1,由于项目的compileSdkVersion>=29,所以需要更改定位的后台权限,分别在AndroidManifest.xml和动态权限中配置下,本步骤解决了离开APP后定位错误码13的问题

AndroidManifest.xml文件中:

<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" />

动态权限中:

//将如下权限放入自己的动态权限代码中
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_BACKGROUND_LOCATION,

2,离开自己的App后定位的时间和点位保持不变,这时时间可改成自己生成,关于不持续定位问题,可以通过service,然后尽量保活即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值