执行gmail联系人同步时更新了联系人照片删除

时间:2014-06-16 04:51:36

标签: android android-layout android-intent android-fragments android-listview

我正在使用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联系人。

上述代码中的任何错误或任何使其有效的建议。

由于

0 个答案:

没有答案