Android 9 权限说明 最后更新时间: 2024年10月30日
/**
* 开启后台定位功能
* <font color="red"><b>注意:</b></font>
* 如果您设置了target>=28,需要增加android.permission.FOREGROUND_SERVICE权限,<br/>
* 如果您的app需要运行在Android Q版本的手机上,需要为ApsService增加android:foregroundServiceType="location"属性,
* 例:<service
* android:name="com.amap.api.location.APSService"
* android:foregroundServiceType="location"/>
* <p>
* 主要是为了解决Android 8.0以上版本对后台定位的限制,开启后会显示通知栏,如果您的应用本身已经存在一个前台服务通知,则无需再开启此接口<br>
* <font color="red"><b>注意:</b></font>启动后台定位只是代表开启了后台定位的能力,并不代表已经开始定位,开始定位请调用{@link #startLocation()}。<br>
* 建议:在整个APP中如果存在多个AMapLocationClient,只需要其中一个开启就可以了,无需重复启动,重复启动也只会显示一个通知栏。
* </p>
*
* @param notificationId 通知栏ID,建议这个app唯一; 不能为0
* @param notification 自定义通知栏,使用者可以根据自己业务需求自定义Notification,将创建好的Notification对象传入;不能为null
* @since 3.8.0
*/
public void enableBackgroundLocation(int notificationId, Notification notification)
如果用我们的后台定位方法,或者程序内部使用了前台服务,并且应用程序目标版本是Android 9需要添加前台服务权限
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>