Last active
August 29, 2015 14:08
-
-
Save bingoogolapple/251d6fb66f2b5d713086 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class MediaScanner { | |
private static String AUDIO_PATH = MediaStore.Audio.AudioColumns.DATA; | |
private static String AUDIO_DISPLAYHNAME = MediaStore.Audio.AudioColumns.DISPLAY_NAME; | |
private static String AUDIO_COLUMN_STRS[] = { AUDIO_PATH, AUDIO_DISPLAYHNAME }; | |
private static String VIDEO_PATH = MediaStore.Video.VideoColumns.DATA; | |
private static String VIDEO_DISPLAYHNAME = MediaStore.Video.VideoColumns.DISPLAY_NAME; | |
private static String VIDEO_COLUMN_STRS[] = { VIDEO_PATH, VIDEO_DISPLAYHNAME }; | |
private static String IMAGE_PATH = MediaStore.Images.ImageColumns.DATA; | |
private static String IMAGE_DISPLAYHNAME = MediaStore.Images.ImageColumns.DISPLAY_NAME; | |
private static String IMAGE_COLUMN_STRS[] = { IMAGE_PATH, IMAGE_DISPLAYHNAME }; | |
private MediaScanner() { | |
} | |
public static List<MediaFile> scanAudio() { | |
return scanMedia(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, AUDIO_COLUMN_STRS, AUDIO_DISPLAYHNAME, AUDIO_DISPLAYHNAME, AUDIO_PATH); | |
} | |
public static List<MediaFile> scanVideo() { | |
return scanMedia(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, VIDEO_COLUMN_STRS, VIDEO_DISPLAYHNAME, VIDEO_DISPLAYHNAME, VIDEO_PATH); | |
} | |
public static List<MediaFile> scanImage() { | |
return scanMedia(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, IMAGE_COLUMN_STRS, IMAGE_DISPLAYHNAME, IMAGE_DISPLAYHNAME, IMAGE_PATH); | |
} | |
public static List<MediaFile> scanMedia(Uri uri, String[] projection, String sortOrder, String nameColumn, String pathColumn) { | |
List<MediaFile> results = new ArrayList<MediaFile>(); | |
Cursor cursor = App.getInstance().getContentResolver().query(uri, projection, null, null, sortOrder); | |
if (cursor != null && cursor.getCount() != 0) { | |
int nameIndex = cursor.getColumnIndexOrThrow(nameColumn); | |
int dirIndex = cursor.getColumnIndexOrThrow(pathColumn); | |
while (cursor.moveToNext()) { | |
results.add(new MediaFile(cursor.getString(nameIndex), cursor.getString(dirIndex))); | |
} | |
cursor.close(); | |
} | |
return results; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment