Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么我不能在Environment.directory\u图片中创建目录?_Android_External_Mkdir - Fatal编程技术网

Android 为什么我不能在Environment.directory\u图片中创建目录?

Android 为什么我不能在Environment.directory\u图片中创建目录?,android,external,mkdir,Android,External,Mkdir,这是我的密码 File selfieLocation = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "Daily Selfies"); boolean isDirectory = false; if(!selfieLocation.isDirectory()) { //Creates directory named by this file selfie

这是我的密码

File selfieLocation = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES),
               "Daily Selfies");
boolean isDirectory = false;
if(!selfieLocation.isDirectory()) {
        //Creates directory named by this file
        selfieLocation.mkdir();
        isDirectory = selfieLocation.isDirectory();
 }
 //array of strings 
 for(String selfiePath: selfieLocation.list()) {
        selfies.add(selfiePath);
 }
基本上,我试图做的是在标准目录中创建我自己的可自定义目录,在其中放置用户可用的图片

我看了相关的线程,看到了这个。但是,我确保调用了getExternal…,而不仅仅将Environment.DIRECTORY\u图片作为参数。 我还查看了这里,发现我使用了正确的方法调用/格式在外部内存中创建了一个可自定义的文件夹。docs的例子是

File file = new File(Environment.getExternalStoragePublicDirectory(
        Environment.DIRECTORY_PICTURES), albumName);
if (!file.mkdirs()) {
    Log.e(LOG_TAG, "Directory not created");
}

我仔细检查了代码,发现即使在调用selfiellocation.mkdir()之后,局部变量isDirectory仍保持为false。有人知道为什么无法创建此目录吗?

尝试使用
文件#mkdirs()
而不是
文件#mkdir()
创建目录。后者假设所有父目录都已就位,因此如果其任何父目录不存在,则不会创建目录。
另外,在
AndroidManifest.xml
中查看您的权限。要在外部存储器上读/写内容,您需要以下权限:

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

...

android.permission.READ\u EXTERNAL\u STORAGE
目前不需要,但在未来的android版本中需要。

权限不是问题,因为我有权限,并且没有安全异常。mkdirs也不起作用。在这种情况下,父级确实存在(getExternalFilesDir(Environment.DIRECTORY\u PICTURES)顺便问一下,如果你认为这是一个好问题,你能给这个问题投赞成票吗?我有被禁止提问的危险,所以我试图确保从现在起我在研究中提出好的问题。我试图重现你的错误,并且在模拟器上一切正常。这个问题必须在其他地方。每当我看到一个问题,我都会投赞成票这对我来说可能很有趣。这是一个很好的问题,经过研究,但从我的角度来看,这并不有趣。是的,问题是当我将手机插入电脑的usb时,手机的外部媒体甚至没有安装。这令人沮丧