由于Android的安全策略升级,使用Request permission请求权限时可能会出现问题。为解决此问题,可以按照以下步骤进行操作:
// 检查权限是否授予
if (ContextCompat.checkSelfPermission(MainActivity.this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
// 如果权限未授予,则请求权限
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE);
}
// 权限请求结果处理
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE: {
// 如果请求被取消,则返回空的结果数组
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 权限已授予,可以执行需要访问此权限的操作
} else {
// 权限未授予,可以禁用需要访问此权限的功能或提示用户
}
return;
}
}
}