framework 打开MANAGE_EXTERNAL_STORAGE 权限
时间: 2023-07-30 19:11:54 浏览: 166
在 Android 11 及以上的版本中,应用需要请求 `MANAGE_EXTERNAL_STORAGE` 权限才能访问设备上的外部存储空间。要打开该权限,可以按照以下步骤进行操作:
1. 在 AndroidManifest.xml 文件中添加以下权限声明:
```xml
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
```
2. 在应用的启动活动中请求该权限:
```java
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && !Environment.isExternalStorageManager()) {
// 在 Android 11 及以上版本中请求 MANAGE_EXTERNAL_STORAGE 权限
Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
}
```
这段代码会跳转到应用的权限设置页面,用户可以在该页面中授予应用 `MANAGE_EXTERNAL_STORAGE` 权限。
注意,在 Android 11 及以上版本中,`MANAGE_EXTERNAL_STORAGE` 权限是一个特殊权限,需要进行适配。应用在使用该权限时需要满足一些条件,例如需要使用 SAF(Storage Access Framework)API 来访问外部存储空间。如果应用没有正确适配该权限,可能会导致应用无法正常访问外部存储空间。
阅读全文