2
我在主板上安裝了Android 6.0的Moto X Pure 2015。在更新到Android 6之前,我在外部存儲器上獲取最後捕獲圖像的縮略圖的代碼工作正常。更重要的是,該代碼適用於我測試過的所有設備(幾十個)。我無法本地化Android 6中發生的變化,以這種方式破壞我的代碼。所有動態權限都被授予,並且「寫入外部存儲」。所以,這就是我所做的縮略圖。 首先,我查詢光標並獲得第一創辦文件的_id(媒體 - 它只是一些數據的容器,包括建立圖像的_id):Images.Thumbnails.getThumbnail on Android 6 for sd-card返回null
Uri baseUri = Images.Media.EXTERNAL_CONTENT_URI;
Uri query = baseUri.buildUpon().appendQueryParameter("limit", "1").build();
String[] projection = new String[] { ImageColumns._ID, ImageColumns.ORIENTATION, ImageColumns.DATE_TAKEN };
String selection = ImageColumns.DATA + " like '%" + dirName + "%' AND " + ImageColumns.MIME_TYPE
+ "='image/jpeg'";
String order = ImageColumns.DATE_TAKEN + " DESC," + ImageColumns._ID + " DESC";
Cursor cursor = null;
try
{
cursor = resolver.query(query, projection, selection, null, order);
if (cursor != null && cursor.moveToFirst())
{
final long id = cursor.getLong(0);
externalMedia = new Media(id, cursor.getInt(1), cursor.getLong(2), ContentUris.withAppendedId(
baseUri, id));
}
} finally
{
if (cursor != null)
{
cursor.close();
}
}
現在,我試圖讓位圖與該_id圖像(externalMedia容器包含ID):
Bitmap bitmap = Images.Thumbnails.getThumbnail(resolver, externalMedia.id, Images.Thumbnails.MICRO_KIND, null);
和位圖是空((((
我沒有發現來自Android的5 ContentResolver的和Images.Thumbnails部分Android中6的任何變化所以我現在米卡住這個問題。
看起來您需要在運行時請求權限: 請參閱:http://stackoverflow.com/a/33618259/5778152 –
我在運行時在應用程序啓動時請求所有必需的權限。我已經檢查了兩次讀\寫入外部存儲權限 - 它被授予。 – Grinchman