Android10 外部存储器无权限问题
参考官方文档: https://developer.android.google.cn/training/data-storage/compatibility
android:requestLegacyExternalStorage="true"
外部存储器权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
动态请求权限
private static final int PERMISSION_REQUEST_CODE = 200;
private boolean m_PermissionGranted = false;
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case PERMISSION_REQUEST_CODE:
if (permissions[0].equals(Manifest.permission.READ_EXTERNAL_STORAGE) && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
m_PermissionGranted = true;
} else {
finish();
}
break;
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
public boolean requestPermissions() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
int storagePermission = checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE);
if (storagePermission != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
return false;
}
}
return true;
}