无法在模拟器上的/storage/emulated/0 上创建目录

时间:2023-04-21
本文介绍了无法在模拟器上的/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," No Criado");
              }
            }
        }
    } catch (Exception e) {
        fachada.showMessage(this, e.toString());
    }

推荐答案

你必须选择:

  • 将您的 compileSdkVersiontargetSdkVersion 降级为 build.gradle
  • 中的较低版本
  • Android 6需要在运行时请求写入权限.
  • Downgrade your compileSdkVersion and targetSdkVersion to lower version in your build.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 上创建目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:Log.isLoggable 是否返回错误值? 下一篇:Android 模拟器的 GPS 位置给出了错误的时间

相关文章