我正在使用Android应用,在这里我使用下面的代码更新联系人照片。
public void UpdateContact(String contactId,ContentResolver resolver){
int rawContactId = -1;
Cursor cursor = resolver.query(ContactsContract.RawContacts.CONTENT_URI,
null,
ContactsContract.RawContacts.CONTACT_ID + "=?",
new String[] {contactId}, null);
if(cursor.moveToFirst())
{
rawContactId = cursor.getInt(cursor.getColumnIndex(ContactsContract.RawContacts._ID));
if(rawContactId > -1)
{
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValue(ContactsContract.Data.RAW_CONTACT_ID, rawContactId)
.withValue(ContactsContract.Data.IS_SUPER_PRIMARY, 1)
.withValue(ContactsContract.Data.MIMETYPE,Photo.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Photo.PHOTO,Converttobytes("/sdcard/photos/456.jpg", true))
.build());
try
{
resolver.applyBatch(ContactsContract.AUTHORITY, ops);
} catch (RemoteException e) {
} catch (OperationApplicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
cursor.close();
}
当我与gmail同步之前更新了照片时更新了照片,但最近在移动应用中进行了修改,因此移动应用数据应该更新为Gmail联系人。
上述代码中的任何错误或任何使其有效的建议。
由于