如果在后台使用位置,更新到 Android 11 是不是需要应用显示另一个位置权限对话框?

Posted

技术标签:

【中文标题】如果在后台使用位置,更新到 Android 11 是不是需要应用显示另一个位置权限对话框?【英文标题】:Does updating to Android 11 require an app to show another location permission dialog if location is used in the background?如果在后台使用位置,更新到 Android 11 是否需要应用显示另一个位置权限对话框? 【发布时间】:2020-08-05 08:57:20 【问题描述】:

你们中的一些人可能知道,Google 在 android 11 中对后台位置权限和一般权限进行了很多更改。他们的文档对此进行了非常透彻的解释,但该主题中的问题仍然是个谜。

将设备更新到 Android 11 是否需要已获得用户“始终”获取位置权限的应用才能再次显示位置权限对话框?

【问题讨论】:

1- 首先需要拥有以下一些权限:ACCESS_COARSE_LOCATION 或 ACCESS_FINE_LOCATION。 2- 现在,您必须请求 ACCESS_BACKGROUND_LOCATION 权限。这一项只能在设备设置屏幕中进行设置。因此,首先您必须解释用户需要在该系统屏幕上执行的操作,因为由他们来选择正确的选项。 3- 由于用户可以选择在使用应用时允许一次或每次都请求权限,因此必须在您的代码中不断检查权限验证,以防止访问拒绝异常。 也许我不够清楚。用户在 Android 10 上已向该应用授予“永远在线”权限。这是否意味着在 Android 11 上同一应用将具有“ACCESS_BACKGROUND_LOCATION”权限,或者需要再次显示权限对话框才能获得该权限? 【参考方案1】:

没有。如果应用程序已经拥有后台位置权限,那么将操作系统更新到 11 不会影响任何事情。如果该应用已经拥有它,它将继续拥有“始终允许”。

此外,如果应用不是针对 Android SDK 29 或 30 的,则不需要 ACCESS_BACKGROUND_LOCATION。 ACCESS_FINE_LOCATION 本身也会在 Android 11 上要求“始终允许”选项。

欲了解更多详情,请访问 - https://developer.android.com/training/location/permissions

【讨论】:

以上是关于如果在后台使用位置,更新到 Android 11 是不是需要应用显示另一个位置权限对话框?的主要内容,如果未能解决你的问题,请参考以下文章

Android 11 中的位置更新

在后台将用户位置更新发送到服务器的最佳方式(Android)

Android 11 用户无法授予后台位置权限?

Android - 如何在服务的后台获取位置更新

在后台服务中使用融合位置获取GPS更新前(15分钟)?

如何在后台运行android应用程序[重复]