ネイティブの Android 連絡先を挿入、更新、および削除するためだけに、1 つのサンプル アプリケーションに取り組んでいます。連絡先を正常に挿入、更新、および削除できます。しかし、連絡先の写真を更新する際の問題。以下の画像は、同じ連絡先が 2 つの異なる問題を抱えている観察結果です。
連絡先を更新した後、最初の画像にはまだ古い画像が表示されています。しかし、完全な詳細を表示すると、2 番目の画像に示すように、新しく更新された連絡先の画像を表示できます。以下は、連絡先画像を更新するためのコードです。
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());
}
何が問題で、どこが間違っているのですか?