Android 10之后版本创建文件夹失败
- 在AndroidManifest.xml中添加对应的权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
- 在使用的地方发起请求,系统会有一个弹窗,提示是否允许读写权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 222);
- 选择弹窗的允许后,会触发onRequestPermissionsResult这个函数,重写这个函数,添加自己的特定需求
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (!hasAllPermissionsGranted(grantResults)) {
return;
}
switch (requestCode) {
case 222:
Toast.makeText(getApplicationContext(), "已申请权限", Toast.LENGTH_SHORT).show();
default:
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
- 之后 在需要的地方创建文件夹,即可
但是 ,可是,可但是,做完以上还是没有解决,继续往下看
Android 10 改变了文件的存储方式不允许应用随意创建文件夹了,要用安卓提供的文件夹,提供的文件夹如下
解决办法有两个 :
- 使用Android规定的文件夹做操作
-
将gradle中的编译环境,SDK的版本号修改到29以下