相关疑难解决方法(0)

如何确定是否可以在 Android 12 中请求位置权限升级?

在 Android 12 中,如果应用程序通过以下方式请求精细位置权限ACCESS_FINE_LOCATION,用户可能会选择仅授予粗略位置权限。不幸的是,并非所有 API 都可以使用粗略位置权限 \xe2\x80\x94,特别是 AFAICT,要查找已连接 WiFi 网络的 SSID,我们需要精细位置权限,而不是粗略位置权限。

\n

如果您重新请求精细位置权限,系统将要求用户升级您的访问权限,但用户可能会拒绝。因此,我们需要一种方法来优雅地确定用户授予了我们粗略位置权限,并且我们仍然有资格请求升级。

\n

这个示例项目只有一个按钮来触发requestPermissions()forACCESS_FINE_LOCATION,以及四个要报告的标签:

\n
    \n
  • 我们获得了精细定位许可吗?(checkSelfPermission()为了ACCESS_FINE_LOCATION
  • \n
  • 我们是否获得了粗略位置许可?(checkSelfPermission()为了ACCESS_COARSE_LOCATION
  • \n
  • 我们是否应该提示用户我们请求的理由,以获得良好的许可?(shouldShowRequestPermissionRationale()为了ACCESS_FINE_LOCATION
  • \n
  • 我们是否应该提示用户我们请求的理由,以获得粗略的许可?(shouldShowRequestPermissionRationale()为了ACCESS_COARSE_LOCATION
  • \n
\n

在运行 Android 12 最终测试版的 Pixel 3a XL 上全新安装后运行此命令,在执行列出的操作序列后,我得到以下结果:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
行动有精细许可吗?有粗略权限吗?提示罚款?提示粗略?
启动应用程序
使用应用程序时单击按钮并授予大致位置是的
再次单击按钮并选择“保留大致位置”是的是的不 …

android android-permissions

31
推荐指数
1
解决办法
1306
查看次数

标签 统计

android ×1

android-permissions ×1