对于 getThumbnail,android 文档有:
public static Bitmap getThumbnail (ContentResolver cr, long origId, long groupId, int kind, BitmapFactory.Options options)
使用 Camera.TakePicture 拍照时,我完全不知道如何获取 origId(要执行 getThumbnail 的原始图像的 ID)。
基于我读过的各种其他问题,我目前的尝试是:
String[] projection = { MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.DATA };
String sort = MediaStore.Images.ImageColumns._ID + " DESC";
Log.d("getting IDs:",sort);
Cursor myCursor = managedQuery(imagesUri, projection, null, null, sort);
myCursor.moveToFirst();
thumbBitmap = MediaStore.Images.Thumbnails.getThumbnail(getContentResolver(), myCursor.getLong(myCursor.getColumnIndexOrThrow(MediaStore.Images.ImageColumns._ID)), MediaStore.Images.Thumbnails.MINI_KIND, null );
但是,我的日志正在输出应该是实际 ID 的字符串“_ID”,然后它在我尝试创建 myCursor 的行上给了我一个空指针异常。
我还阅读了其他人的类似问题的答案,即 SD 卡上的图像没有ID,在这种情况下,我猜 origID 实际上是一个 URI,而文档只是搞砸了?我非常困惑,非常欢迎任何解释。