Android11模拟定位开发,Android 11 中的位置信息更新

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

单次访问权限

one-time-perm-prompt.svg?hl=zh_cn

图 1. 用于授予前台位置权限的系统对话框,其中包含一个名为仅限这一次的选项。

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

详细了解系统如何处理单次授权。

在后台访问位置信息的权限

Android 11 更改了应用中的功能获取后台位置信息访问权限的方式。本部分介绍了上述各项变更。

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

单独请求在后台访问位置信息

正如有关如何在运行时请求位置信息访问权限的指南中所述,您应该执行递增位置信息请求。如果您的应用以 Android 11 或更高版本为目标平台,系统会强制执行此最佳做法。如果您同时请求在前台访问位置信息的权限和在后台访问位置信息的权限,系统会忽略该请求,且不会向您的应用授予其中的任一权限。

权限对话框的变更

变更详情

变更名称:BACKGROUND_RATIONALE_CHANGE_ID

变更 ID:147316723

如何切换

在测试应用与 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 的兼容性。

在搭载 Android 11 或更高版本的设备上,您的应用中的某项功能请求在后台访问位置信息时,系统对话框不会包含用于启用在后台访问位置信息权限的按钮。如需启用在后台访问位置信息的权限,用户必须在设置页面上针对应用的位置权限设置一律允许选项,如介绍如何请求在后台访问位置信息的指南中所述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值