如何在没有文件夹的cursorLoader中查询图像和视频?

时间:2016-08-22 15:00:43

标签: android mediastore android-cursorloader

问题:

我按照here所述查询图像和视频。

String[] projection = {
MediaStore.Files.FileColumns._ID, 
MediaStore.Files.FileColumns.DATA,
MediaStore.Files.FileColumns.DATE_ADDED,
MediaStore.Files.FileColumns.MEDIA_TYPE,
MediaStore.Files.FileColumns.MIME_TYPE,
MediaStore.Files.FileColumns.TITLE};

String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "="
     + MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE 
     + " OR "
     + MediaStore.Files.FileColumns.MEDIA_TYPE + "="
     + MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO;

Uri queryUri = MediaStore.Files.getContentUri("external");

CursorLoader cursorLoader = new CursorLoader(
this,
queryUri,
projection,
selection,
null, // Selection args (none).
MediaStore.Files.FileColumns.DATE_ADDED + " DESC");

Cursor cursor = cursorLoader.loadInBackground();

但也有返回文件夹,例如/storage/emulated/0/WhatsApp/Media/WhatsApp Video/Sent。我怎么能避免这个?

我只需要图片和视频,没有文件夹路径。

解决方案:

添加

  

AND" + MediaStore.Images.Media.MIME_TYPE +" IS NOT NULL

进入查询。

0 个答案:

没有答案