Google API を使用して Android ネイティブの連絡先を Google アカウントに同期する方法。役立つリンクをいくつか提供します。
3721 次
2 に答える
10
同期は自動的に行われます。プログラムで連絡先を追加または削除できます。ただし、ユーザーが電話の設定で「同期接続」オプションを有効にしている場合にのみ、同期はOSによって自動的に処理されます。
ただし、ユーザーが次のようなものを使用して同期を有効にしている場合は、同期プロセスを呼び出すことができる同期ルーチンを実行できます。
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);
}
}
}
于 2012-10-09T06:15:01.237 に答える
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);
}
}
}
}
于 2014-03-05T14:38:28.017 に答える