我試圖通過它的聯繫人ID更新我的聯繫人圖像,但是當我在三星S3上測試代碼時,它執行得很好,但設備上未做任何更改。在我的Nexus 4上,它完美地工作,任何人都知道發生了什麼。這是我的代碼:以編程方式更改聯繫人圖像適用於某些設備而不適用於其他人
public void setContactImage(Bitmap img, String contactUriId, String rawID) {
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
try {
Bitmap bitmap = scaleDownBitmap(img, 500, getApplicationContext());
ByteArrayOutputStream image = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, image);
ContentProviderOperation.Builder contentOp = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI);
contentOp.withSelection(ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?", new String[]{String.valueOf(contactUriId), ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE});
contentOp.withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, image.toByteArray());
ops.add(contentOp.build());
} catch (Exception e) {
e.printStackTrace();
}
try {
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
} catch (Exception e) {
e.printStackTrace();
}
}
凹凸
數據行作爲IS_PRIMARY和檢查抓住部分我n s3設備。 – QuokMoon 2014-10-28 17:38:34
我的log3中沒有錯誤s3 – user3443430 2014-10-28 17:40:11
如果需要更多信息,請讓我知道。我一整天都被困在這裏! – user3443430 2014-10-28 19:49:19