高德地图开发Android 定位SDK实用工具—Android 9 权限说明

高德地图开发Android 定位SDK实用工具—Android 9 权限说明

Android 9 权限说明 最后更新时间: 2022年04月19日

Java

/**
	 * 开启后台定位功能
	 * <font color="red"><b>注意:</b></font>
	 * 如果您设置了target>=28,需要增加android.permission.FOREGROUND_SERVICE权限,<br/>
	 * 如果您的app需要运行在Android Q版本的手机上,需要为ApsService增加android:foregroundServiceType="location"属性,
	 * 例:&lt;service
	 *             android:name="com.amap.api.location.APSService"
	 *             android:foregroundServiceType="location"/&gt;
	 * <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”/>