我正在處理一個示例應用程序,只是爲了插入,更新和刪除本機android聯繫人。我能夠成功插入,更新和刪除聯繫人。但更新聯繫人照片的問題。下面的圖片是觀察哪個同一聯繫人有兩個不同的問題。 如何更新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());
}
問題是什麼,我哪裏出錯了?