/** * 获取图片缩略图 * * @param dbId * @return */ public MediaThumbnail getImageThumbnail(int dbId) { String volumeName = "external"; String selection = Images.Thumbnails.IMAGE_ID + "='" + dbId + "'"; String[] columns = new String[] {Images.Thumbnails.DATA, Images.Thumbnails.WIDTH, Images.Thumbnails.HEIGHT}; Uri uri = Images.Thumbnails.getContentUri(volumeName); Cursor cur = null; try { cur = mContext.getContentResolver().query(uri, columns, selection, null, null); if (null == cur) { return null; } if (!cur.moveToFirst()) { return null; } MediaThumbnail thumbnail = new MediaThumbnail(); thumbnail.path = MediaDbUtil.getString(cur, Images.Thumbnails.DATA); thumbnail.width = MediaDbUtil.getInt(cur, Images.Thumbnails.WIDTH); thumbnail.height = MediaDbUtil.getInt(cur, Images.Thumbnails.HEIGHT); thumbnail.dbId = dbId; thumbnail.type = MediaThumbnail.TYPE_IMAGE; return thumbnail; } finally { if (cur != null) { cur.close(); } } }
/** * 获取专辑名称 * * @param dbId * @return */ public String getAlbumBucket(int dbId) { String volumeName = "external"; String selection = BaseColumns._ID + "='" + dbId + "'"; String[] columns = new String[] {AudioColumns.ALBUM}; Uri uri = Audio.Media.getContentUri(volumeName); Cursor cur = null; try { cur = mContext.getContentResolver().query(uri, columns, selection, null, null); if (null == cur) { return null; } if (!cur.moveToFirst()) { return null; } return MediaDbUtil.getString(cur, AudioColumns.ALBUM); } finally { if (cur != null) { cur.close(); } } }
/** * 获取文件的MimeType * * @param dbId * @param type * @return */ public String getMimeType(int dbId, int type) { String volumeName = "external"; String selection = BaseColumns._ID + "='" + dbId + "'"; String[] columns = new String[] {MediaColumns.MIME_TYPE}; Uri uri = null; switch (type) { case TYPE_IMAGE: uri = Images.Media.getContentUri(volumeName); break; case TYPE_AUDIO: uri = Audio.Media.getContentUri(volumeName); break; case TYPE_VIDEO: uri = Video.Media.getContentUri(volumeName); break; default: break; } if (uri == null) { return null; } Cursor cur = null; try { cur = mContext.getContentResolver().query(uri, columns, selection, null, null); if (null == cur) { return null; } if (!cur.moveToFirst()) { return null; } return MediaDbUtil.getString(cur, MediaColumns.MIME_TYPE); } finally { if (cur != null) { cur.close(); } } }