1

Question:

I query images and videos as it has been described 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();

But there also return folders, for example /storage/emulated/0/WhatsApp/Media/WhatsApp Video/Sent. How I can avoid this?

I need only images and videos, no folder paths.

Solution:

Add

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

into query.

Community
  • 1
  • 1
Michal
  • 2,071
  • 19
  • 30
  • I don't know how reliable it is, but glancing at the files table in the media DB it looks like you can just check if the mime_type column is not null – dymmeh Aug 22 '16 at 15:07
  • Does the "MediaStore.Files.FileColumns.DATA" colums contain folder-only entries on your device? On my 3 android devices i only have entries with fullpath+filename like "/storage/sdcard0/dcim/camera/someFile.jpg" but no entries like " "/storage/sdcard0/dcim/camera" – k3b Aug 22 '16 at 16:27
  • Thank you for your answer, puting this " AND "+MediaStore.Images.Media.MIME_TYPE+" IS NOT NULL" to SQL query helped : ) – Michal Aug 22 '16 at 17:41

0 Answers0