【问题标题】:Storage Access Permission is not visible in app info存储访问权限在应用信息中不可见
【发布时间】:2018-12-11 10:49:39
【问题描述】:

我已在清单中为我的 android 应用添加了 READ 和 WRITE 存储权限。我出于某种目的使用这些权限来访问图库图像。但是当我在 android 设置中检查我的应用程序的应用程序信息时,存储权限选择器在应用程序信息页面中不可用。但是,所有其他权限选择器都在那里。

我的问题不是关于我如何请求棉花糖的许可。我已经在我的代码中定义了运行时权限。清单文件中的所有必需的使用权限也是如此。但是,我仍然没有在 android 设置的应用信息中获得存储权限。

【问题讨论】:

  • @AbdulmalekDery 你仔细阅读问题了吗?你提到的问题怎么重复?
  • @AbdulmalekDery 我已经在课堂上添加了该代码,但我仍然没有在 android 设置的应用信息中看到该权限
  • 好的...抱歉

标签: android permissions file-permissions


【解决方案1】:

这是我检查权限是否已被允许的一段代码。

当用户点击相机或存储时调用此函数:

    //>=Marshmallow(23) needs app to request run-time permissions to use some features.
            if (Build.VERSION.SDK_INT >= 23) {
                if (checkPermission()) {
                    //permission to use Camera is already granted, now pick image
open camera or file picker    
                } else {
                    //App can still ask user for permission.
                    requestPermission();
                }
            }

checkPermission 函数:

private boolean checkPermission() {
        int result = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
        return result == PackageManager.PERMISSION_GRANTED;
    }

这里是 requestPermission 函数:

private void requestPermission() {
        ActivityCompat.requestPermissions(this,
                new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE},
                PERMISSION_REQUEST_CODE);
    }

清单文件:

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

编辑:也回答你的问题,通过这种方式我可以在应用程序权限设置中看到存储权限。

【讨论】:

  • 感谢您的回答,但我已经在清单文件中定义了权限但无法正常工作。
【解决方案2】:

我不知道问题是什么,但我通过在 android 清单类本身的权限上添加标签解决了我的问题。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace"/>

【讨论】:

  • 了不起的兄弟,你拯救了我的一天。谢谢! => 工具:node="replace"
  • 查看apk中的AndroidManifest.xml,好像是添加了&lt;uses-permission name="android.permission.WRITE_EXTERNAL_STORAGE" maxSdkVersion="18" /&gt;,本质上是去掉了。让tools:node="replace" 将该行替换为没有maxSdkVersion 的行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-01
  • 2022-08-12
  • 2012-05-28
  • 1970-01-01
  • 2018-04-05
相关资源
最近更新 更多