android 创建文件夹失败

android 创建文件夹失败

下面是我遇到过的原因

1、没有申请权限,这个很简单,在manifect.xml文件中添加权限申请

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

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不支持这个,可以尝试创建一个一级目录。

顺便提一下,

扫描二维码关注公众号,回复: 4901121 查看本文章

我是在实现拍照的时候遇到的这个问题,一直拍照失败,文件夹也创建失败。

一个原因是创建了多级目录

另一个是7.0拍照报错,exposed beyond app through ClipData.Item.getUri()

可以参考 https://blog.csdn.net/qq_23179075/article/details/70314473

猜你喜欢

转载自blog.csdn.net/qq_25066049/article/details/85159845