浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
Android 12.0 开发须知
更新时间:2021年09月24日

Android12 位置功能适配说明

一、大致位置

1.功能背景

熟悉IOS系统的用户,一定注意到在IOS14系统上推出的全新位置授权功能---模糊定位功能,Android12系统的『大致位置』功能也是对标这一功能。

2.功能触发条件

只有使用以Android12为目标平台的应用,用户可以请求应用只能访问大致位置信息,应用需要同时请求ACCESS_FINE_LOCATION和ACCESS_COARSE_LOCATION权限,系统权限对话框将为用户提供以下新选项:

确切:提供 ACCESS_FINE_LOCATION 权限提供的位置信息精确度。

大致:提供 ACCESS_COARSE_LOCATION 权限提供的位置信息精确度。

android%4012_1.png

需要注意的是,Android12要求必须同时请求ACCESS_FINE_LOCATION和ACCESS_COARSE_LOCATION权限才会触发相关权限弹框,如果只请求ACCESS_COARSE_LOCATION权限,系统将只会弹出请求大致位置的弹框。如果开发者只请求ACCESS_FINE_LOCATION,系统会忽略该请求,并在Logcat里记录错误信息:ACCESS_FINE_LOCATION must be requested with ACCESS_COARSE_LOCATION。开发者在适配Android12应用时一定要注意上述权限请求相关要求。

3.系统设置选择

在 Android 12 中,用户可以转到系统设置,以设置任何应用的首选位置信息精确度,而不管该应用的目标 SDK 版本是什么。即使您的应用安装在搭载 Android 11 或更低版本的设备上,然后升级到 Android 12,也是如此。如果用户从权限对话框或在系统设置中将应用的位置信息访问权限从确切位置降级到大致位置,则系统会重启应用的进程。

android%4012_2.png

大致位置权限会影响所有的位置授权场景,包括仅一次、使用期间、总是允许等定位授权场景。

4.升级到确切位置

如果您的应用当前依赖于使用 ACCESS_FINE_LOCATION 权限访问确切位置,则大致位置可能会影响您的应用。在让用户将应用的访问权限升级到确切位置之前,请考虑应用的用例是否确实需要这一级别的精确度。

如需请求用户将应用的位置信息访问权限从大致位置升级到确切位置,请执行以下操作:

(1) 如有必要,请说明您的应用为何需要获取权限

(2) 再次同时请求 ACCESS_FINE_LOCATION 和 ACCESS_COARSE_LOCATION 权限。由于用户已允许系统向您的应用授予大致位置信息访问权限,因此这次系统对话框有所不同,如下图所示:

android%4012_3.png
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消