0
我无法创建这个简单的代码目录:安卓:创建目录失败
public class ExternalStorage {
private final String BACKUPS_DIR = "MyDir";
public String createBackupDir() {
if (!isExternalStorageWritable()) {
Log.e("MyApp", "Storage not writable");
return null;
}
String path = Environment.getExternalStorageDirectory() +
File.separator + BACKUPS_DIR;
File folder = new File(path);
boolean success = true;
if (!folder.exists())
success = folder.mkdirs();
if (success)
return path;
Log.e("MyApp", "Backup Dir: creation failed");
return null;
}
/* Checks if external storage is available for read and write */
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
return Environment.MEDIA_MOUNTED.equals(state);
}
/* Checks if external storage is available to at least read */
public boolean isExternalStorageReadable() {
String state = Environment.getExternalStorageState();
return Environment.MEDIA_MOUNTED.equals(state) ||
Environment.MEDIA_MOUNTED_READ_ONLY.equals(state);
}
}
Environment.getExternalStorageDirectory()的返回值是:
/storage/emulated/0
日志是:
MyApp : Backup Dir: creation failed
舱单的权限是:
个<android:uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<android:uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
mkdirs只返回假的,我不明白是什么发生,任何帮助将不胜感激
舱单权限是: <机器人:使用的许可机器人:名称= “android.permission.WRITE_EXTERNAL_STORAGE”/> <机器人:使用的许可机器人:名称= “android.permission.READ_EXTERNAL_STORAGE”/> –
是意识到无论目录是否创建,您的日志都会被执行。 – Opiatefuchs
另外请注意,从android 6你必须手动接受'应用程序信息'屏幕的权限。 (不知道这是否适用于你测试这个版本的Android?) – namingFailed