Android无法创建新文件夹

时间:2016-11-04 23:55:32

标签: android

我不能以任何方式创建新文件夹,使用mkdirs时它总是返回false。我在android studio调试模式下使用Android 6.0.1。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />`

String folder_main = "NewFolder";
        Boolean success = false;
        File f = new File(Environment.getExternalStorageDirectory(),folder_main
                );
        if (!f.exists()) {
            Log.d("path","not exist");
            success=f.mkdirs();
        }
        else
        {
            Log.d("path","exist");
        }

        Log.d("path",success.toString());

我没有使用写权限,因为在此docs

  

从API级别19开始,不需要此权限   在您返回的特定于应用程序的目录中读/写文件   getExternalFilesDir(String)和getExternalCacheDir()。

1 个答案:

答案 0 :(得分:0)

该文档说您只能在没有写入权限的情况下在getExternalFilesDir(String)和getExternalCacheDir()返回的目录中读/写文件。但是你可以通过Environment.getExternalStorageDirectory()获得目录路径。

Environment.getExternalStorageDirectory()的

Javadoc表示。

  

写入此路径需要WRITE_EXTERNAL_STORAGE权限,并且从KITKAT开始,读取权限需要READ_EXTERNAL_STORAGE权限,如果您持有写入权限,则会自动授予该权限。

     

从KITKAT开始,如果您的应用程序只需要存储内部数据,请考虑使用getExternalFilesDir(String),getExternalCacheDir()或getExternalMediaDirs(),它们不需要读取或写入权限。