Whatsapp でユーザーが複数の画像/ビデオを選択できるようにする必要があるのと同じように、カスタム画像とビデオ ギャラリーを作成しています。ビデオギャラリーでも同じことが起こります。
から画像のIDを照会しています
MediaStore.images
を使用してサムネイルを取得します
MediaStore.images.thumbnails.getThumbnail
取得したIDから
以下は私のコードです
final String[] columns = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID };
final String orderBy = MediaStore.Images.Media.DATE_ADDED;
imageCursor = activity.managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,null, orderBy+" DESC");
int image_column_index = imageCursor.getColumnIndex(MediaStore.Images.Media._ID);
int count = imageCursor.getCount();
thumbnails = new Bitmap[count];
arrPath = new String[count];
Log.d("count ", ""+count);
int i=0;
for ( i= 0; i <count; i++)
{
imageCursor.moveToPosition(i);
int id = imageCursor.getInt(image_column_index);
int dataColumnIndex = imageCursor.getColumnIndex(MediaStore.Images.Media._ID);
thumbnails[i] = MediaStore.Images.Thumbnails.getThumbnail(context.getContentResolver(), id,MediaStore.Images.Thumbnails.MICRO_KIND, null);
arrPath[i]= imageCursor.getString(dataColumnIndex);
}
アンドロイドのドキュメントからgetThumbnail は、利用できない場合はサムネイルを作成する必要があります。
同じ問題を引き起こす 1 つの例は、MediaStore.Images.Thumbnails.getThumbnail が NULL ではなく間違ったサムネイルを返しますが、その人は解決策を見つけていません (質問は 2 年前に行われました)。
誰かがこの問題に直面したことがありますか?私は多くの例を経験しており、さらに追加するために asynctask にカーソルをロードしているので、サムネイルの入力は Adroid OS の問題ではないと思います.この問題に利用できる解決策はありますか?かなりイライラします.