用户可能会影响后台位置信息的准确度

本页面将讨论以下内容:

如何请求后台位置信息访问权限。

如何根据应用的目标 SDK 版本处理请求。

用户对大致位置信息的偏好设置如何影响应用获取后台位置信息的方式。

注意: 如果应用中的某项功能从后台访问位置信息,请验证此类访问是否有必要。并考虑以其他方式获取该功能所需的信息。如需详细了解后台位置信息访问权限,请参阅在后台访问位置信息页面。

图 7. 设置页面包含一个名为始终允许的选项,用于授予后台位置信息访问权限。

权限对话框内容取决于目标 SDK 版本

在搭载 Android 10(API 级别 29)的设备上,您的应用中的某项功能请求在后台访问位置信息时,系统权限对话框包含一个名为始终允许的选项。如果用户选择此选项,您的应用中的相应功能就会获得在后台访问位置信息的权限。

但是,在 Android 11(API 级别 30)及更高版本中,系统对话框不含始终允许选项。相反,用户必须在设置页面上启用后台位置信息,如图 7 所示。

请求在后台访问位置信息的权限时,您可以遵循最佳做法,帮助用户导航到此设置页面。授予权限的过程取决于应用的目标 SDK 版本。

以 Android 11 或更高版本为目标平台的应用

如果您的应用尚未获得 ACCESS_BACKGROUND_LOCATION 权限并且 shouldShowRequestPermissionRationale() 返回 true,请向用户显示包含以下内容的指导界面:

明确说明应用功能需要在后台访问位置信息的原因。

用于授予后台位置信息访问权限的设置选项的用户可见标签(例如,图 7 中的始终允许)。您可以调用 getBackgroundPermissionOptionLabel() 获取此标签。此方法的返回值会根据用户设备的语言偏好设置进行本地化。

供用户拒绝授予权限的选项。如果用户拒绝应用在后台访问位置信息,他们应该能够继续使用应用。

图 8. 提醒用户他们已授予应用后台位置信息使用权的通知。

以 Android 10 或更低版本为目标平台的应用

当应用中的某项功能请求后台位置信息访问权限时,用户会看到一个系统对话框。此对话框包含一个选项,可用于导航到设置页面上的应用位置权限选项。

只要您的应用已遵循有关请求位置信息权限的最佳实践,您无需做出任何更改即可支持此行为。

用户可能会影响后台位置信息的准确度

如果用户请求获取大致位置信息,用户在位置信息权限对话框中的选择也适用于后台位置信息。换言之,如果用户向您的应用授予 ACCESS_BACKGROUND_LOCATION 权限,但仅授予在前台访问大致位置信息的权限,那么您的应用在后台也只有大致位置信息的访问权限。

其他资源

如需详细了解 Android 中的位置权限,请查看以下资料:

Codelab

隐私保护最佳实践

视频

如何查找可能在后台使用位置信息的情况

示例

示例应用演示了如何使用位置信息权限。

Top