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

Unable to create a folder programatically

下面是我正在使用的代码

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() 中 activity,

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

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

我认为您无权创建文件夹。如果您的应用程序目标是 23 或更高,您必须阅读新的运行时权限。

Here你可以找到关于它的官方文档。