注意:请确保将 android:minSdkVersion 设置为 30 或更高版本。
android { compileSdkVersion 30 buildToolsVersion "30.0.2" defaultConfig { applicationId "com.example.myapp" minSdkVersion 21 targetSdkVersion 30 ...
if (Environment.isExternalStorageManager()) { // Permission granted } else { // Request the permission Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); Uri uri = Uri.fromParts("package", getPackageName(), null); intent.setData(uri); startActivityForResult(intent, REQUEST_CODE); }
这将验证用户是否已授予 MANAGE_EXTERNAL_STORAGE 权限。如果没有授予权限,将启动系统意图以请求它。
这样,您应该可以成功请求 MANAGE_EXTERNAL_STORAGE 权限了。