我正在尝试获得在外部存储器上读写的权限:
<uses-feature android:name="android.hardware.camera.any" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE "/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />请求权限的代码:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//works. dialog pops up
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 101);
//doesnt work. dialog does not pop
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 565);
}但我有一个问题:问题是我只被“允许”允许读存储,而不是写这个。当询问编写器权限时,该对话框确实会弹出。我是不是遗漏了什么?我知道如果sdk版本高于marshmellow,你必须请求许可。在运行时(onClick listener)也会发生权限询问。
发布于 2021-04-08 03:19:06
我修复了添加tools:remove="android:maxSdkVersion“的问题,如下所示:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:remove="android:maxSdkVersion"/>发布于 2021-04-07 11:32:01
在manifest中必须添加这些行之后才能显示所有数据
requestLegacyExternalStorage=true
https://stackoverflow.com/questions/66976239
复制相似问题