android 创建文件夹失败
16lz
2021-12-04
android 创建文件夹失败
下面是我遇到过的原因
1、没有申请权限,这个很简单,在manifect.xml文件中添加权限申请
2、android版本高于6.0。6.0以后很多手机需要动态申请权限。光在文件中配置还不行。
//动态申请权限 private void getPrimission() { PackageManager pm = getPackageManager(); boolean permission = (PackageManager.PERMISSION_GRANTED == pm.checkPermission("android.permission.CAMERA", "com.zhengyuan.emcarsend")); if (permission) { //"有这个权限" } else { //"没有这个权限" //如果android版本大于等于6.0,权限需要动态申请 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { requestPermissions(new String[]{Manifest.permission.CAMERA}, 15); } } permission = PackageManager.PERMISSION_GRANTED == pm.checkPermission("android.permission.WRITE_EXTERNAL_STORAGE", "com.zhengyuan.emcarsend"); if (permission) { //"有这个权限" //Toast.makeText(Carout.this, "有权限", Toast.LENGTH_SHORT).show(); } else { //"木有这个权限" //如果android版本大于等于6.0,权限需要动态申请 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 15); } } permission = PackageManager.PERMISSION_GRANTED == pm.checkPermission("android.permission.READ_EXTERNAL_STORAGE", "com.zhengyuan.emcarsend"); if (permission) { //"有这个权限" //Toast.makeText(Carout.this, "有权限", Toast.LENGTH_SHORT).show(); } else { //"木有这个权限" //如果android版本大于等于6.0,权限需要动态申请 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 15); } } }
以上示例这种有相机,存储空间的读写权限。
3、有时候即使申请了权限也创建文件夹失败,可能是一次创建多级目录,android不支持这个,可以尝试创建一个一级目录。
顺便提一下,
我是在实现拍照的时候遇到的这个问题,一直拍照失败,文件夹也创建失败。
一个原因是创建了多级目录,
另一个是7.0拍照报错,exposed beyond app through ClipData.Item.getUri()。
可以参考 https://blog.csdn.net/qq_23179075/article/details/70314473,
更多相关文章
- 如何使Android应用程序获取系统权限
- SurfaceFlinger学习之路(一)View的绘制流程
- android开发之权限问题整理
- Android从文件目录中写入和读取图片
- Android(安卓)4.4 SD卡文件读写变化
- Android(安卓)Handler机制
- 【 Android(安卓)】Android(安卓)Runtime Permissions 解决方案(
- Android(安卓)入门教程:安装 Android(安卓)Studio
- android 获取路径目录方法以及判断目录是否存在,创建目录