义乌网站制作电话,网站建设用户画像例子,手机剪辑app哪个最好,最热网络游戏排行最近在做拍照录像功能#xff0c;已经有了文件读写权限#xff0c;却发现在9.0手机上正常使用#xff0c;但是在安卓12系统上根本没有创建文件夹。经过研究发现#xff0c;创建名称为“DCIM”的文件夹可以#xff0c;别的又都不行。而且是getExternalStorageDirectory和ge…最近在做拍照录像功能已经有了文件读写权限却发现在9.0手机上正常使用但是在安卓12系统上根本没有创建文件夹。经过研究发现创建名称为“DCIM”的文件夹可以别的又都不行。而且是getExternalStorageDirectory和getDataDirectory都不行。
原来在安卓10以后要用ContextgetExternalFilesDirString这个方法路径是
/storage/emulated/0/Android/data/com.weizu.downloader/files而且要在Androidmainfest 里面的application添加android:requestLegacyExternalStorage“true”
下面贴出文件目录代码 public static String getSDPath(Context context) {File sdDir null;boolean sdCardExist Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);// 判断sd卡是否存在if (sdCardExist) {if (Build.VERSION.SDK_INT 29) {//Android10之后sdDir context.getExternalFilesDir(null);} else {sdDir Environment.getExternalStorageDirectory();// 获取SD卡根目录}} else {sdDir Environment.getRootDirectory();// 获取跟目录}Log.i(TAG, onCreate3: sdDir.toString());return sdDir.toString();}/*** 创建SD卡目录*/public static boolean isFolderExists(String strFolder) {File file new File(strFolder);return file.exists() || file.mkdirs();}/*** 初始化文件夹子*/private void initData() {// 文件路径设置String parentPath getSDPath(this);isFolderExists(parentPath);}