我现在明白,“外部存储”不一定是SD卡,而是指手机分配给“外部”而不是“内部”的另一个存储区域。保存到外部存储
我的问题现在为我的应用程序创建目录。当我在使用Nexus 5仿真器的Android Studio中进行编译时,我的应用程序崩溃并且错误(在创建日志后)Failed to create directory
。
我已经添加了权限,仍然有困难。我添加了一个断点正确的代码之前,该目录是由和获得以下信息:
SD卡/存储 图片/应用程序的名字(我用的图片目录)
后,我看到我的logcat这些字符串,它不会创建目录。这里是我使用的代码块:
File mediaStorageDir = new File(Environment.DIRECTORY_PICTURES, "AppName");
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdir())
Log.d("AppName", "failed to create directory");
return null;
}
任何人都可以引导我朝着正确的方向吗?谢谢!
编辑:
我添加了一个检查外部存储:
public static boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state) ||
Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
return true;
}
return false;
}
,并返回假的!我在输入上面的代码之前运行了这个。有任何想法吗??我添加了权限(写入外部),它仍然不起作用。
这将是伟大的,如果你不介意!我一直在努力为我的一些问题寻找标准解决方案,但有很多解决方案我不完全理解。 – George 2014-11-20 20:47:07
@George see编辑 – moffeltje 2014-11-20 21:35:06
它做到了!非常感谢你 – George 2014-11-21 14:10:21