Android:如何在Android中查询文档文件

Android:如何在Android中查询文档文件,android,android-cursor,mediastore,Android,Android Cursor,Mediastore,我试图列出除图像、歌曲和视频文件以外的所有文档文件(.doc、.docx、.pdf、.xml、.java等) String[] projection = { MediaStore.Files.FileColumns.DATA}; String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "=" + MediaStore.Files.FileColumns.MEDIA_TYPE_NONE; Cu

我试图列出除图像、歌曲和视频文件以外的所有文档文件(.doc、.docx、.pdf、.xml、.java等)

String[] projection = { MediaStore.Files.FileColumns.DATA};
    String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "="
            + MediaStore.Files.FileColumns.MEDIA_TYPE_NONE;
    Cursor cursor = context.getContentResolver().query(
                MediaStore.Files.getContentUri("external"),
                projection,
                selection,
                null,
                null);

这就是我使用的查询。此查询返回的文件太多,其中包含图像和其他不可读文件。除了检查预定义扩展名的文件名外,是否有一种有效的方法从android检索所有文档文件?

基于MIME类型进行搜索。@Commonware:每种文件类型(pdf、doc、docx、xml、java、ppt、pptx)的MIME类型将不同。基于MIME的搜索要列出所有文件,需要根据每个MIME类型进行搜索。它不会变得低效吗?我怀疑它会比您当前的方法(检索几乎所有内容,然后在客户端按MIME类型过滤)更有效。谢谢@commonware。。。我将尝试这种方法