如何使用Google API将Android原生联系人同步到Google帐户。 提供一些有用的链接。
答案 0 :(得分:9)
同步自动发生。您可以以编程方式添加或删除联系人。但是,当且仅当用户在电话设置中启用了“sync conatcts”选项时,操作系统才会自动处理同步。
但是,如果用户使用以下内容启用了同步,则可以运行可以调用同步过程的同步例程:
private void requestSync()
{
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccounts();
for (Account account : accounts)
{
int isSyncable = ContentResolver.getIsSyncable(account, ContactsContract.AUTHORITY);
if (isSyncable > 0)
{
Bundle extras = new Bundle();
extras.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
ContentResolver.requestSync(accounts[0], ContactsContract.AUTHORITY, extras);
}
}
}
答案 1 :(得分:0)
以下也可能是一个很好的答案。它与上面的类似,但默认设置应用程序使用如下代码:
private void requestSyncForAccounts() {
SyncAdapterType[] syncAdapters = ContentResolver.getSyncAdapterTypes();
Bundle extras = new Bundle();
extras.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
Account[] accounts = AccountManager.get(PeopleActivity.this).getAccounts();
for (Account account : accounts) {
for (int j = 0; j < syncAdapters.length; j++) {
SyncAdapterType sa = syncAdapters[j];
if (ContentResolver.getSyncAutomatically(account, sa.authority)) {
ContentResolver.requestSync(account, sa.authority, extras);
}
}
}
}