![](/img/trans.png)
[英]Android 9 can't create directory inside Android external public path("storage/emulated/0/MyImages")
[英]Can't create a directory on /storage/emulated/0 on emulator
我正在尝试在我的 android 模拟器上创建一个目录,但我不能这样做,我已经拥有清单 write_storage 的权限,并且我没有得到错误但 mkdir() 返回 false,我验证了外部存储是否也是可写的,并且是的,它适用于我的代码的物理设备:
/// 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 10 上遇到了同样的问题。我通过将android:requestLegacyExternalStorage="true"
到清单中的<application>
元素来解决它
注意:我们也可以使用context.getExternalFilesDir(Environment.DIRECTORY_PICTURES)
。 Environment 中还有其他目录类型常量,如DIRECTORY_MUSIC
、 DIRECTORY_MOVIES
等。
我有一个类似的问题是通过使用 mkdirs 而不是 mkdir 来解决的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.