我正在开发一个示例应用程序,只是为了插入、更新和删除本机 android 联系人。我能够成功插入、更新和删除联系人。但是更新联系人照片的问题。下图是同一联系人有两个不同问题的观察结果。
更新联系人后,第一个图像仍然显示旧图像。但是,当我查看完整详细信息时,我可以查看新更新的联系人图像,如第二张图像所示。下面是更新联系人图像的代码。
mBitmap =getAllowedPhotoBitmap(photo);
mBitmap = ThumbnailUtils.extractThumbnail(mBitmap, THUMBNAIL_SIZE, THUMBNAIL_SIZE);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
if(mBitmap!=null){ // If an image is selected successfully
mBitmap.compress(Bitmap.CompressFormat.PNG ,100, stream);
op = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI);
op.withSelection(ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?", new String[{String.valueOf(native_contactid), ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE});
op.withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, stream.toByteArray());
ops.add(op.build());
}
有什么问题,我哪里出错了?