当我尝试在marshmallow中运行此代码时,文件夹未创建.. 代码是,我试图运行相同的代码,其工作正常,除了marshmallow
File folder = new File(Environment.getExternalStorageDirectory() + "/abcdefg");
boolean success = false;
if (!folder.exists()) {
success = folder.mkdir();
}
if (!success) {
Log.d("", "Folder not created.");
} else {
Log.d("", "Folder created!");
}
答案 0 :(得分:1)
尝试在活动中添加以下代码以请求运行时权限。
您需要READ_EXTERNAL_STORAGE
权限才能在外部存储中创建文件夹(目录)。
if (ActivityCompat.checkSelfPermission(YourActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{ Manifest.permission.WRITE_EXTERNAL_STORAGE},
REQUEST_FOR_STORAGE);//REQUEST_FOR_STORAGE=1111
} else {
//Do your stuff here
}
...
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if(requestCode == REQUEST_FOR_STORAGE){
//Do your stuff here
}
}
希望对你有所帮助。
答案 1 :(得分:0)
由于棉花糖引入运行时许可,您必须检查权限
在运行时间。你可以参考这里
1。https://developer.android.com/training/permissions/requesting.html
2。https://www.youtube.com/watch?v=iZqDdvhTZj0
3。https://www.youtube.com/watch?v=C8lUdPVSzDk
您必须动态接受用户的STORAGE权限组。 请使用以下链接 http://developer.android.com/guide/topics/security/permissions.html