配置 ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION 的示例代码
在 AndroidManifest.xml 文件中添加以下权限:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
然后,在你的 Activity 或 Fragment 中,使用以下代码请求文件访问权限:
private static final int REQUEST_CODE_MANAGE_ALL_FILES_ACCESS_PERMISSION = 100;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && !Environment.isExternalStorageManager()) {
Intent intent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION);
startActivityForResult(intent, REQUEST_CODE_MANAGE_ALL_FILES_ACCESS_PERMISSION);
} else {
// 已经拥有文件访问权限的处理逻辑
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_MANAGE_ALL_FILES_ACCESS_PERMISSION) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && Environment.isExternalStorageManager()) {
// 已经获得文件访问权限的处理逻辑
} else {
// 未获得文件访问权限的处理逻辑
}
}
}
上述代码首先检查设备是否运行 Android 11 及以上版本,并且用户是否具有文件访问权限。如果用户没有文件访问权限,则会打开系统的权限管理界面,让用户授予文件访问权限。在 onActivityResult 方法中,根据用户的选择进行相应的处理逻辑
原文地址: http://www.cveoy.top/t/topic/i0TD 著作权归作者所有。请勿转载和采集!