无法在模拟器的/storage/emulated/0上创建目录 [英] Can't create a directory on /storage/emulated/0 on emulator
本文介绍了无法在模拟器的/storage/emulated/0上创建目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在Android模拟器上创建目录,但无法执行该操作,我已经对清单write_storage拥有权限,并且没有错误,但mkdir()返回false,我验证外部存储是否也是可写的,它可以在我的代码的物理设备上工作:
I'm trying to create a directory on my android emulator but I can't do it, I already have the permission on manifest write_storage, and I get no erros but mkdir() return false, I verify if external storage is writtable too and it is, it works on physical devices my code:
/// Cria uma nova pasta para colocar o backup
File direct = new File(Environment.getExternalStorageDirectory(),
"/Financas RW Backup");
try {
if (!direct.exists()) {
if(isExternalStorageWritable()&&isExternalStorageReadable()) {
if( direct.mkdir()) {
fachada.showMessage(ExportImportDB.this," Criado");
}else{
fachada.showMessage(ExportImportDB.this," Não Criado");
}
}
}
} catch (Exception e) {
fachada.showMessage(this, e.toString());
}
推荐答案
您必须选择:
- 将
compileSdkVersion
和targetSdkVersion
降级到build.gradle
中的较低版本
在 Android 6 上 - 需要运行时请求写入权限
- Downgrade your
compileSdkVersion
andtargetSdkVersion
to lower version in yourbuild.gradle
- Request write permission at runtime is required on Android 6 .
我个人不建议第一个.有关更多信息,请检查:
I personally don't advice the first one. For more info check:
- Android 6.0 Marshmallow. Cannot write to SD Card
- Google Play services 8.1 and Android 6.0 Permissions
希望这会有所帮助!
这篇关于无法在模拟器的/storage/emulated/0上创建目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文