未授予Android WRITE_EXTERNAL_STORAGE

时间:2019-07-11 20:38:41

标签: android android-permissions

我在清单中指定了WRITE_EXTERNAL_STORAGE权限,在应用程序中,当我调用requestPermissions时,grantResult返回-1,表示未授予权限。但是,在应用程序的“设备设置”中,“存储”权限显示为“开”。该应用程序不会让我写,但是。为什么授予请求失败,就应用程序而言,权限被拒绝,但在“设置”中显示为正常?

requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, PICK_FROM_GALLERY);
.
.
.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                    startActivityForResult(intent, RESULT_LOAD_IMAGE);
} else {
    //THIS IS WHERE I END UP WITH grantResults == -1
}

2 个答案:

答案 0 :(得分:0)

我找到了答案。显然,我从第三方库获取的某些东西导致清单合并。通过添加以下内容:

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

我的问题消失了。

答案 1 :(得分:0)

当我注意到清单中的许可中有一个空格时,我的案件可以对某人有所帮助,它是<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE "/>,我将其更改为<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>并解决了问题。没有其他变化。