Android 11 中的位置更新

为了进一步保护用户隐私,Android 11 添加了一次性位置访问权限,并更改了用户授予后台位置访问权限的方式。这些更新会影响在 Android 11 及更高版本上运行的所有应用。

一次性访问

图 1. 前台位置权限的系统对话框包含一个名为仅此一次的选项。

在 Android 11 及更高版本上,每当您的应用请求访问前台位置时,系统权限对话框中都会包含一个名为仅此一次的选项,如图 1 所示。此选项使用户能够更好地控制应用何时可以访问位置信息。

了解更多有关系统如何处理一次性权限的信息。

后台位置访问

Android 11 更改了应用中的功能如何访问后台位置。本部分介绍了这些更改。

如果应用中的功能从后台访问位置,请验证此类访问是否必要。请考虑以其他方式获取功能所需的信息,如关于如何在后台访问位置的页面中所述。

单独请求后台位置

如关于如何在运行时请求位置访问权限的指南中所述,您应执行增量位置请求。如果您的应用面向 Android 11 或更高版本,系统会强制执行此最佳实践。如果您同时请求前台位置权限和后台位置权限,系统将忽略该请求,并且不会向您的应用授予任何权限。

权限对话框更改

更改详情

更改名称BACKGROUND_RATIONALE_CHANGE_ID

更改 ID147316723

如何切换

在测试您的应用与 Android 11 的兼容性时,您可以使用以下 ADB 命令打开或关闭此更改

adb shell am compat enable (147316723|BACKGROUND_RATIONALE_CHANGE_ID) PACKAGE_NAME
adb shell am compat disable (147316723|BACKGROUND_RATIONALE_CHANGE_ID) PACKAGE_NAME

有关兼容性框架和切换更改的更多信息,请参阅测试和调试应用中的平台行为更改

当应用中的功能在运行 Android 11 或更高版本的设备上请求后台位置时,系统对话框中不包含启用后台位置访问权限的按钮。为了启用后台位置访问权限,用户必须在设置页面上为应用的位置权限设置始终允许选项,如关于如何请求后台位置的指南中所述。

其他资源

有关访问后台位置的更多信息,请查看以下资料

视频