Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.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中打开不同目录下的.jpeg文件?_Android_Android Cursor_Android File - Fatal编程技术网

如何在Android中打开不同目录下的.jpeg文件?

如何在Android中打开不同目录下的.jpeg文件?,android,android-cursor,android-file,Android,Android Cursor,Android File,我正在开发一个摄像头应用程序。我想列出Camera dir、DCIM dir和我自己的应用程序dir中的所有文件,我正在使用网格视图显示所有这些文件。我试过这个代码 String[] selectionArgs = new String[] {"Camera","DCIM","100MEDIA", "MyDirectory"}; Cursor mCursor = context.getContentResolver().query( Me

我正在开发一个摄像头应用程序。我想列出Camera dir、DCIM dir和我自己的应用程序dir中的所有文件,我正在使用网格视图显示所有这些文件。我试过这个代码

String[] selectionArgs = new String[] {"Camera","DCIM","100MEDIA",
            "MyDirectory"};

    Cursor mCursor = context.getContentResolver().query(
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI, mProjection,
            selection, selectionArgs, MediaStore.Images.Media.DATE_TAKEN);

    mCursor.moveToLast();
    if (mCursor!= null) {

        while (mCursor.moveToPrevious()) {

            int columnIndex = mCursor
                    .getColumnIndexOrThrow(MediaStore.Images.Media._ID);
            String imageID = mCursor.getString(columnIndex);

            // Uri uri = Uri.withAppendedPath(
            // MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
            // Integer.toString(imageID) );
            // String url = uri.toString();

            img_path.add(imageID);

        }
    }

    mCursor.close();
}

这段代码工作正常,但它没有列出我创建的“Mydirectory”中的文件。我想显示该目录中的文件,也用于编辑目的。有人能为这个问题提出另一种方法或解决方案吗?提前感谢。

您的应用程序要求媒体扫描程序找到jpg文件(
getContentResolver().query(MediaStore.Images.media.EXTERNAL\u CONTENT\u URI…)

根据您使用的安卓版本以及文件夹
MyDirectory
具有的文件权限,媒体扫描程序将根本找不到jpg文件,或者会有一些延迟

 > Can anyone suggest another method or solution to this problem?
如果使用的是
File.listFiles()
,则不应存在此问题

其他应用程序通过将自己的图像放入DCIM的子文件夹来解决此问题,因此media scanner和其他应用程序的读取权限没有问题:

  • /存储/sdcard0/DCIM/摄像头
  • /存储/sdcard0/DCIM/MyDirectory

Hi@Jaxon,我看到您使用MyDirectory和MyDirectory时有任何案例问题吗?或者它只是一个笔名不,这不是问题:),它只是一个打字错误不要让MediaStore为您列出它们。在档案课上列出你自己。谢谢你回答我的问题。那么我应该在哪里使用File.listFiles()函数??我不明白,你能帮我吗?