Android WRITE_EXTERNAL_STORAGE 未授予

use*_*687 4 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
}
Run Code Online (Sandbox Code Playgroud)

use*_*687 8

我找到了答案。显然,我从第 3 方库中提取的内容导致了明显的合并。通过添加这个:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace"/> 
Run Code Online (Sandbox Code Playgroud)

我的问题消失了。