【问题标题】:No sdcard folder on my emulator我的模拟器上没有 sdcard 文件夹
【发布时间】:2016-04-08 13:10:09
【问题描述】:

我尝试使用模拟器写入 sdcard 文件夹,但没有成功,尽管几周前它成功了。我在我的应用程序中使用Environment.getExternalStorageDirectory() 获取了 sdcard 文件夹。所以我打开了 Android Device Monitor 并没有看到 sdcard 文件夹。我在我的根文件夹和 mnt/ 文件夹中看到一个名为 sdcard 的文件。 怎么了?

我面临的问题不仅是我没有看到 sdcard,而是我无法在其中创建文件夹。我认为如果我解决了看不到它的问题,它将解决我的主要问题。这是我的代码,isPresesnt 返回 false。

我还确保我有权写入外部存储。

看来问题只存在于模拟器上——我刚刚在手机上测试过,效果很好。

我还注意到,如果我在模拟器打开时将手机连接到计算机,我确实会在 Android 设备监视器中看到 sdcard 文件夹,但我不知道它属于哪个设备。

我的代码

    File path = new File(Environment.getExternalStorageDirectory() + "/Documents");
    boolean isPresent = true;
    if (!path.exists()) {
        isPresent = path.mkdir();
    }

清单

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

权限代码

            perms.put(android.Manifest.permission.WRITE_EXTERNAL_STORAGE, PackageManager.PERMISSION_GRANTED);

【问题讨论】:

    标签: android android-emulator


    【解决方案1】:

    实际上我们在模拟器上看不到 SD 卡文件夹,但它仍然存在于 mnt/sdcard 中,就像你上面提到的那样。如果您想查看它,只需将图像导入该文件夹,它就会以文件夹名称 sdcard 出现在图库中。

    【讨论】:

    • 我面临的问题不仅是我没有看到 sdcard,而是我无法在其中创建文件夹。我认为如果我解决了看不到它的问题,它将解决我的主要问题。这是我的代码
    • 你能试着把“/”放在“/Document”之后吗?我的意思是你的文件会是这样的: Environment.getExternalStorageDirectory() + "/Documents/"
    • 无论如何,您必须重新启动模拟器才能看到该文件夹​​:D
    • 使用“/Documents/”没有帮助/仍然无法在 sdcard 中创建文件夹。重新启动模拟器也没有帮助。正如我在帖子中提到的,它适用于真机,但不适用于模拟器。会不会是bug?
    猜你喜欢
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多