随笔记录一下:
在Android 8.0 以上的手机上创建文件夹或者文件的时候无法创建,后来出现Java.lang.SecurityException: xx.xx.xx was not granted this permission: android.permission.WRITE_SETTINGS.
经过查找说的原因是权限没有获取到,但是在首页已经获取过了,不知道为什么,后来在需要 创建的页面重新检查权限 可以了,估计是权限检测机制上的问题,后期深入了解一下,暂时先记录一下
public class CheckPermissionUtils {
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE"};
public static void verifyStoragePermissions(Activity activity) {
try {
//检测是否有写的权限
int permission = ActivityCompat.checkSelfPermission(activity,
"android.permission.WRITE_EXTERNAL_STORAGE");
if (permission != PackageManager.PERMISSION_GRANTED) {
// 没有写的权限,去申请写的权限,会弹出对话框
ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}