无法以编程方式创建文件夹
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 中的已知问题吗?有解决办法吗?或者任何人都可以发现代码中的任何问题。
备注:
上述代码在我的启动器 onCreate()
中 activity,
清单文件中也有以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
"newfolder" 不存在。
我认为您无权创建文件夹。如果您的应用程序目标是 23 或更高,您必须阅读新的运行时权限。
Here你可以找到关于它的官方文档。
下面是我正在使用的代码
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 中的已知问题吗?有解决办法吗?或者任何人都可以发现代码中的任何问题。
备注:
上述代码在我的启动器
onCreate()
中 activity,清单文件中也有以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
"newfolder" 不存在。
我认为您无权创建文件夹。如果您的应用程序目标是 23 或更高,您必须阅读新的运行时权限。
Here你可以找到关于它的官方文档。