【问题标题】:how to fit run time permission in MIUI如何在 MIUI 中设置运行时权限
【发布时间】:2017-09-14 00:26:10
【问题描述】:

我使用android api来获得运行时权限,但在小米MIUI中不起作用。当我请求权限时它总是返回0。

【问题讨论】:

  • 请出示您的代码
  • 发布您的代码..
  • if (ActivityCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) { return true; }else{ return false} 我拒绝了许可,但它返回 fase

标签: android runtime-permissions


【解决方案1】:

我找到了答案。

如果您的应用程序针对的是 23 之前的 API 级别(Android M),那么:ContextCompat.CheckSelfPermission 和 Context.checkSelfPermission 都不起作用,并且始终返回 0 (PERMISSION_GRANTED)。即使您在 Android 6.0 (API 23) 上运行应用程序。

解决办法: 正如我在第一点所说,如果您在 Android 6.0 上针对 23 之前的 API 级别,则 ContextCompat.CheckSelfPermission 和 Context.checkSelfPermission 不起作用。幸运的是,您可以使用 PermissionChecker.checkSelfPermission 检查运行时权限。

【讨论】:

    【解决方案2】:

    我用 MIUI 对我的小米 MI3 的运行时权限没有问题,你确定正确询问运行时权限吗?

    发布您的代码或遵循本指南:https://developer.android.com/training/permissions/requesting.html

    【讨论】:

    • 我遵循了这个指南,在其他手机中措辞没有问题 MIUI 权限管理器中有一个类似 Notify 的选项,我选择了它。 MIUI 弹出一个 RequestPermisssionDialog 但我拒绝了许可。 ActivityCompat.checkSelfPermission(this, permission) 将返回 PackageManager.PERMISSION_GRANTED
    【解决方案3】:

    好的,我解决了这个问题。

    我用过

    PermissionChecker.checkPermission(this, permission, Process.myPid(),Process.myUid()

    替换

    ActivityCompat.checkSelfPermission(this, permission)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-22
      • 1970-01-01
      • 1970-01-01
      • 2018-01-10
      • 2017-07-27
      • 2017-03-01
      相关资源
      最近更新 更多