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();
}}
这可能是可能的,但我认为你必须使用Google API的webservices而不是客户端库。在这种情况下,您可以尝试登录并同意必要的权限,将您想要的联系人同步/添加到其他帐户中。 – adjuremods