开发 Android 定位SDK 开发指南 实用工具 Android 10 权限说明

Android 10 权限说明 最后更新时间: 2024年11月21日

  1. Android 10 之前只有ACCESS_FINE_LOCATION和ACCESS_COARSE_LOCATION;
  2. Android 10 新增加了后台定位权限:ACCESS_BACKGROUND_LOCATION,该权限对应始终允许;老的权限:ACCESS_FINE_LOCATION和ACCESS_COARSE_LOCATION代表仅前台使用允许;
  3. 应用的targetSdkVersion<Q,谷歌提供了兼容性方案,只要应用申请了老的位置权限ACCESS_FINE_LOCATION或者ACCESS_COARSE_LOCATION,会默认请求ACCESS_BACKGROUND_LOCATION权限,动态授权弹框参考下面第一个图。
  4. 应用的TargetSdkVersion>=Q,如果应用必须要始终定位,可以只申请ACCESS_BACKGROUND_LOCATION即可,权限弹框参考下面第三个图;如果应用只需要申请前台定位,则只需要申请老的定位权限即可,具体授权弹框参考第二个图。如果都申请则出现三态权限弹框,参考下面第一个图。


 

5.如果用户选择仅前台使用允许,应用的页面退后台,通过启动前台服务让应用处于前台状态,必须把前台服务标为:foregroundServiceType=“location”,才能获取位置信息。

<manifest>
    ...
 <service
android:name="com.amap.api.location.APSService"
android:foregroundServiceType="location" />
</manifest>
返回顶部 示例中心 常见问题 智能客服 公众号
二维码