Android - ContentResolver结果中不包含外部存储中的图像文件

时间:2016-03-04 07:19:51

标签: android android-contentresolver android-external-storage

我有一个将jpg图像文件写入应用程序外部存储中的目录结构的应用程序。 我打算使用ContentResolver扫描目录结构,以便搜索特定文件夹或所有文件夹。但是,我写的ContentResolver查询不会返回应用程序编写的任何文件(它确实会返回手机中的其他文件)。 这是代码:

    // Create Content Resolver
    ContentResolver resolver = getContentResolver();
    // List of fields we want to include in the query
    String[] projection = new String[] { BaseColumns._ID,
            MediaStore.MediaColumns.DISPLAY_NAME,
            MediaStore.MediaColumns.SIZE };
    // Run the query and return a crusor
    cursor = resolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
    // URI = Uniform Resource Identifier
            projection, // which fields
            null , // selection criteria
            null, // selection arguments
            MediaStore.MediaColumns.SIZE + " DESC"); 

    if ((cursor != null) && (cursor.moveToFirst()))
    {
        do // loop through the items in the list of results, using the cursor
        {
            long id = cursor.getLong(0); 
            String name = cursor.getString(1);
            long size = cursor.getLong(cursor.getColumnIndex(MediaStore.MediaColumns.SIZE));
            Log.i(TAG, "Image: id = " + id + "  name = " + name
                    + "  size = " + size);
        } while (cursor.moveToNext());
    } else {
        Log.w(TAG, "System media store is empty.");
    }

我尝试重新启动手机(因此ContentProvider将会更新),我尝试了几种不同的设备和模拟器。什么都没有帮助。

我做错了什么?

虽然我们参与其中,您能否指导我如何按目录名称过滤结果(例如,仅显示特定子目录中的文件,或显示应用程序外部存储目录下的所有文件) )。

谢谢!

贝纳

0 个答案:

没有答案