近期高德地图定位SDK、地图SDK、导航SDK、猎鹰SDK已全面完成产品升级,适配iOS 14 Beta版和Android 11。以下主要为开发者介绍相关的适配内容。
在 iOS13 及以前,App 请求用户定位授权时为如下形态:一旦用户同意应用获取定位信息,当前应用就可以获取到用户的精确定位。
iOS14 新增“用户大概位置”选项可供用户选择, 对于对用户位置敏感度不高的 App 来说,这个似乎无影响,但是对于强依赖精确位置的 App 适配工作就显得非常重要。可以通过用户在 “隐私设置” 中设置来开启精确定位,但是可能用户宁可放弃使用这个应用也不愿意开启。这个时候,iOS14 在 CLLocationManager 新增两个方法可用于向用户申请临时开启一次精确位置权限,如下左图所示,右图为用户主动设置来开启。
定位SDK适配文档详情请见:https://lbs.amap.com/faq/ios/location-sdk/position/1060646928/
Android 11与位置服务相关的特性如下,请开发者注意。
在 Android 11 中,每当应用请求访问前台位置信息时,系统权限对话框都包含一个名为仅限这一次的选项,通过这一新选项,终端用户可以更好地控制应用何时有权访问位置信息。
当终端用户下次打开应用并且应用中的某项功能请求访问位置信息时,系统会再次提示终端用户授予权限。
在搭载 Android 11 的设备上,如需启用后台位置信息访问权限,终端用户必须在设置页面上针对应用的位置权限设置一律允许选项。
申请后台定位权限需要申请"Manifest.permission.ACCESS_BACKGROUND_LOCATION",只有申请此权限时才会弹出“始终允许”选项。
注意:后台定位权限申请为递进式申请,不能直接申请后台定位权限,需要在前台定位权限(仅限这一次/仅在使用该应用时允许)授权通过后才可以申请,否则无法弹出授权对话框,无法进行后台定位授权。