Android 10(Api 29)新特性适配 - 后台应用增加定位限制

官方文档:https://developer.android.google.cn/preview/privacy/device-location

问题描述

后台应用要获取位置信息需要动态申请权限

1
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>

在AndroidQ上运行:

  • targetSdkVersion<Q,没影响,申请权限时系统默认会加上后台位置权限
  • targetSdkVersion>=Q,需申请;
  • 应用变为后台应用90s后开始定位失败(Pixel Android Q)
  • ACCESS_BACKGROUND_LOCATION不能单独申请,需要和ACCESS_COARSE_LOCATION/ACCESS_FINE_LOCATION一起申请

解决方法

(1)动态申请即可

(2)启动前台服务

1
2
3
4
5
<!-需要设置foregroundServiceType为“location” ->
<service
android:name=".permission.LocationService"
android:foregroundServiceType="location"
/>

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :