无法以编程方式创建文件夹

时间:2015-10-30 08:07:19

标签: android android-6.0-marshmallow android-file

以下是我正在使用的代码

String root = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
File filepathname = new File(root+"/newfolder");
if(filepathname.mkdir())
    Toast.makeText(this,"directory created", Toast.LENGTH_SHORT).show();
else
    Toast.makeText(this,"directory not created", Toast.LENGTH_SHORT).show();

我在Moto E(运行Lollipop)和Nexus 5(运行marshmallow)中尝试了这个代码。文件夹在Moto中创建,但不在Nexus 5中创建。

我可以在升级到Marshmallow之前在Nexus 5中创建文件夹。

这是android M中的一个已知问题吗?有工作吗?或者任何人都可以发现代码中的任何问题。

注意:

  1. 上述代码位于我的启动器活动的onCreate()

  2. 以下权限也在清单文件中:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
  3. “newfolder”已不存在。

1 个答案:

答案 0 :(得分:4)

在我看来,你没有权利创建文件夹。如果您的应用程序目标是23或更高,则必须阅读有关新运行时权限的信息。

Here您可以找到有关它的官方文档。