繁体   English   中英

获取Android 2.3中的所有非媒体文件

[英]Get all non media files in Android 2.3

如何在android 2.3中获取所有非媒体文件?

    ContentResolver cr = getApplicationContext().getContentResolver();
    Uri uri = MediaStore.Files.getContentUri("external");

    String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + " = " + MediaStore.Files.FileColumns.MEDIA_TYPE_NONE;

    imagecursor = cr.query(uri, null, selection, null, null);

    while (imagecursor.moveToNext()) {
        count++;
    }

从上面我正在获取Android 4.0及更高版本中的所有非媒体文件。 但是G etContentUri(external)在Android 2.3中不起作用,这表明它是在API级别11中添加的。在Android 2.3中是否可以获取所有非媒体文件?

如您所说, MediaStore.Files仅可用于API 11+。 因此,没有任何使用MediaStore方法。 但是,您有两个选择可从设备的存储中获取非媒体文件。

1.遍历存储中的所有文件:不建议这样做。 因为遍历所有文件大约需要15-30秒。 但是,如果要执行此操作, 请在此处进行检查 然后,您提供一个简单的条件来查看它是否是非媒体文件。

2.在数据库中列出所有文件一次,然后获取它们:这比第一种方法更好。 要使用它,您可以检查该开源应用程序是否确实如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM