【问题标题】:How to display permission request with api 14如何使用 api 14 显示权限请求
【发布时间】:2017-07-03 02:08:35
【问题描述】:

我需要在运行时显示请求权限(读取外部存储)。未经许可,我的应用程序立即崩溃。

【问题讨论】:

  • API 级别 14 设备上不存在运行时权限。您只需在清单中请求许可,就像开发人员多年来所做的那样。如果您在使用 <uses-permission> 元素时遇到问题,请提出一个单独的 Stack Overflow 问题,并在其中提供 minimal reproducible example 说明您如何请求权限、崩溃的完整 Java 堆栈跟踪以及导致崩溃的代码。
  • 如果您提供一些围绕问题的代码、有关错误的更多信息以及您是否尝试过任何事情(以避免重复任何建议)。

标签: java android permissions file-permissions


【解决方案1】:

在 API 14 中,您不需要发出请求。

只需将您的清单放在<application> 部分上方:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

【讨论】:

    【解决方案2】:

    API 级别 14 不支持在运行时请求权限,直到 API 级别 23 才支持。

    如果您在已安装应用的设备或模拟器上从 Android Studio 运行应用,则您的应用在运行时不会请求许可。如果您无意中删除了权限,则需要通过设备或模拟器上的应用程序管理器手动授予权限。

    为防止初始崩溃,您可以将违规调用包装在权限检查中。

    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_EXTERNAL_STORAGE)
                                          == PackageManager.PERMISSION_GRANTED) {
        // READ DATA
    }
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 1970-01-01
      • 2016-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多