0

我有兩個與我的Android同步的Gmail帳戶([email protected][email protected])。如何添加應該同步到兩個帳戶的聯繫人?在Android中以編程方式添加聯繫人到兩個Gmail源

使用下面提到的代碼,我可以添加聯繫人到只有一個Gmail帳戶。

private void addContact() { 
ArrayList<ContentProviderOperation> op_list = new ArrayList<ContentProviderOperation>(); 
op_list.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI) 
     .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, "com.google") 
     .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, "[email protected]") 
     .build()); 

// first and last names 
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
     .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
     .withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE) 
     .withValue(StructuredName.GIVEN_NAME, "Second Name") 
     .withValue(StructuredName.FAMILY_NAME, "First Name") 
     .build()); 

op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
     .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
     .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE) 
     .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, "18000000001") 
     .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, Phone.TYPE_HOME) 
     .build()); 

op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
     .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
     .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE) 
     .withValue(ContactsContract.CommonDataKinds.Email.DATA, "[email protected]") 
     .withValue(ContactsContract.CommonDataKinds.Email.TYPE, Email.TYPE_WORK) 
     .build()); 

try{ 
    ContentProviderResult[] results = getContentResolver().applyBatch(ContactsContract.AUTHORITY, op_list); 
}catch(Exception e){ 
    e.printStackTrace(); 
}} 
+0

這可能是可能的,但我認爲你必須使用Google API的webservices而不是客戶端庫。在這種情況下,您可以嘗試登錄並同意必要的權限,將您想要的聯繫人同步/添加到其他帳戶中。 – adjuremods

回答

0

您不能添加被自動同步到2個賬戶raw_contact。您只需將兩次相同的聯繫人添加到兩個帳戶。 在android中沒有其他的方法。

相關問題