【发布时间】: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);
【问题讨论】: