/** * @param mContext * @param genre_id * @param default_name * @return genre name */ public static String getGenreName(Context mContext, long genre_id, boolean default_name) { String where = BaseColumns._ID + "=" + genre_id; String[] cols = new String[] { GenresColumns.NAME }; Uri uri = Audio.Genres.EXTERNAL_CONTENT_URI; Cursor cursor = mContext.getContentResolver().query(uri, cols, where, null, null); if (cursor == null){ return MediaStore.UNKNOWN_STRING; } if (cursor.getCount() <= 0) { if (default_name) return mContext.getString(R.string.unknown); else return MediaStore.UNKNOWN_STRING; } else { cursor.moveToFirst(); String name = cursor.getString(0); cursor.close(); if (name == null || MediaStore.UNKNOWN_STRING.equals(name)) { if (default_name) return mContext.getString(R.string.unknown); else return MediaStore.UNKNOWN_STRING; } return name; } }
/** * Creates the {@link Cursor} used to run the query. * * @param context The {@link Context} to use. * @return The {@link Cursor} used to run the genre query. */ public static final Cursor makeGenreCursor(final Context context) { final StringBuilder selection = new StringBuilder(); selection.append(MediaStore.Audio.Genres.NAME + " != ''"); return context.getContentResolver().query(MediaStore.Audio.Genres.EXTERNAL_CONTENT_URI, new String[] { /* 0 */ BaseColumns._ID, /* 1 */ GenresColumns.NAME }, selection.toString(), null, MediaStore.Audio.Genres.DEFAULT_SORT_ORDER); }