如何使用谷歌通讯录API以编程方式将手机通讯录同步到Android中的Gmail中



如何使用Google API将Android本地联系人同步到Google帐户中。提供一些有用的链接。

同步会自动进行。您可以通过编程方式添加或删除联系人。但是,当用户在手机设置中启用了"同步连接"选项时,操作系统会自动处理同步。

但是,您可以运行一个同步例程,如果用户使用如下所示的内容启用了同步,则可以调用同步过程:

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);
        }
    }
}

以下也可能是一个很好的答案。它类似于上面的应用程序,但默认的设置应用程序使用如下代码:

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);
            }
        }
    }
}

最新更新