0
我有位圖和聯繫人ID。我想要一個採用這些參數並將Bitmap設置爲該ID的聯繫人圖片的函數。你能幫我嗎?使用聯繫人ID設置聯繫人圖片
我有位圖和聯繫人ID。我想要一個採用這些參數並將Bitmap設置爲該ID的聯繫人圖片的函數。你能幫我嗎?使用聯繫人ID設置聯繫人圖片
嘗試
轉換位圖到的bytearray
Bitmap bit; // <-- put your bitmap here
ByteArrayOutputStream streamy = new ByteArrayOutputStream();
bit.compress(CompressFormat.PNG, 0, streamy);
byte[] photo = streamy.toByteArray();
然後
ContentValues values = new ContentValues();
int photoRow = -1;
String where = ContactsContract.Data.RAW_CONTACT_ID + " == " +
ContentUris.parseId(yourContectID) + " AND " + Data.MIMETYPE + "=='" +
ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE + "'";
Cursor cursor = managedQuery(
ContactsContract.Data.CONTENT_URI,
null,
where,
null,
null);
int idIdx = cursor.getColumnIndexOrThrow(ContactsContract.Data._ID);
if(cursor.moveToFirst()){
photoRow = cursor.getInt(idIdx);
}
cursor.close();
values.put(ContactsContract.Data.RAW_CONTACT_ID,
ContentUris.parseId(yourContectID));
values.put(ContactsContract.Data.IS_SUPER_PRIMARY, 1);
values.put(ContactsContract.CommonDataKinds.Photo.PHOTO, photo);
values.put(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE);
if(photoRow >= 0){
this.getContentResolver().update(
ContactsContract.Data.CONTENT_URI,
values,
ContactsContract.Data._ID + " = " + photoRow, null);
} else {
this.getContentResolver().insert(
ContactsContract.Data.CONTENT_URI,
values);
}
}
不要忘記填寫您的manifest file
添加權限
WRITE_CONTACTS
和READ_CONTACTS
這是一個複製粘貼事情。我看過這篇文章。 – rockydgeekgod 2012-07-15 12:42:49請根據我的問題進行編輯。 – rockydgeekgod 2012-07-15 12:43:08
你的問題是什麼? – 2012-07-15 12:48:10