本文介绍了无法在模拟器上的/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.无法写入 SD 卡
- Google Play 服务 8.1 和 Android 6.0 权限
希望这会有所帮助!
这篇关于无法在模拟器上的/storage/emulated/0 上创建目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!