要解决Android请求read_external_storage权限的问题,你可以按照以下步骤进行操作:
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
Manifest.permission.READ_EXTERNAL_STORAGE
};
public static void verifyStoragePermissions(Activity activity) {
// 检查应用是否有读取外部存储权限
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
// 如果应用没有权限,则提示用户请求权限
ActivityCompat.requestPermissions(
activity,
PERMISSIONS_STORAGE,
REQUEST_EXTERNAL_STORAGE
);
}
}
在需要请求权限的地方调用 verifyStoragePermissions(activity)
方法即可。
onRequestPermissionsResult
方法:@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case REQUEST_EXTERNAL_STORAGE:
// 如果请求被取消,grantResults数组将为空
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 权限被授予,可以执行相关操作
// 例如,可以在这里访问外部存储设备
} else {
// 权限被拒绝,提示用户需要该权限才能进行相关操作
}
break;
}
}
以上就是解决Android请求read_external_storage权限的问题的步骤和代码示例。