Android 无法在外部公共存储中创建文件夹
我试图简单地在外部存储图片目录中创建一个子目录,但是,我总是以较低的if条件结束。目录不存在,mkdir无法创建它Android 无法在外部公共存储中创建文件夹,android,android-external-storage,Android,Android External Storage,我试图简单地在外部存储图片目录中创建一个子目录,但是,我总是以较低的if条件结束。目录不存在,mkdir无法创建它 ... File storageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "foto_test_app"); if(!Environment.MEDIA_MOUNTED.equals(Environment.get
...
File storageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "foto_test_app");
if(!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))
{
Log.e(LOG_TAG, "External Storage not mounted.");
return null;
}
if(!storageDir.exists() && !storageDir.mkdir())
{
Log.e(LOG_TAG, "Directory not created.");
}
...
我在清单文件中确实有这样一行内容:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
我在两个不同的设备上测试了它。两者都没有安装SD卡,但这不应该是一个问题,对吗?我遗漏了什么?您可能正在使用Android棉花糖或更高版本。 您需要确保已授予存储的运行时权限 这可以通过在android设备的设置中显式设置或在运行时请求许可来实现 您可以在下面的链接中查看运行时权限是如何工作的
你试过storageDir.mkdirs而不是storageDir.mkdir吗?是的,效果同样糟糕:听起来很傻,但你能试着交换一下吗!storageDir.mkdir和!storageDir.存在吗?谢谢,你给我指出了正确的方向,这就解决了问题。我在平板电脑的设置中激活了“存储”权限,之后,我可以创建所需的文件夹。这可能只是一个快速开发的黑客,但暂时有效。非常感谢你的帮助。然而,我使用的不是安卓棉花糖,而是7.0版,所以如果你能将答案改为安卓棉花糖或更高版本,这将帮助很多人。