【问题标题】:Permission dialog is not showing in version 5.05.0 版中未显示权限对话框
【发布时间】:2016-10-22 21:24:14
【问题描述】:

android permission dialog 未显示在 lollipop version I.e 5.1 中,但 permission dialog 显示在版本 6.0 中,即 marshmallow。谁能告诉我这是什么原因,以及如何解决这个问题。

【问题讨论】:

标签: android permissions


【解决方案1】:

对于Android 6.0下方的权限对话框将不会向用户显示。

来自Android Docs

  1. 如果设备运行 Android 5.1 或更低版本,或者您应用的目标 SDK 为 22 或更低版本:如果您在 manifest,用户必须在安装时授予权限 应用程序;如果他们不授予权限,则系统不会安装 应用程序。
  2. 如果设备运行 Android 6.0 或更高版本,并且您应用的目标 SDK 为 23 或更高版本:应用必须在 manifest,并且它必须请求它需要的每个危险权限,同时 该应用程序正在运行。用户可以授予或拒绝每个权限,并且 应用程序可以继续以有限的功能运行,即使用户 拒绝权限请求。

【讨论】:

  • 这是正确但不完整的。请添加来自 Android Docs 或其他可靠来源的报价以使其完整。
【解决方案2】:

谁能告诉我这是什么原因

假设你的意思是runtime permission dialog triggered by requestPermissions(),原因是这个对话框只存在于Android 6.0+。 ActivityCompat.requestPermissions()ContextCompat.checkSelfPermission() 和相关方法在 Android 6.0 设备上调用它们的原生等效方法,并在旧设备上正常失败。

如何解决这个问题。

没有问题。运行时权限仅存在于 Android 6.0+ 上。在 Android 1.0-5.1 设备上,权限仅在安装时授予。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    • 2021-03-06
    • 2015-10-30
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多