4

我正在使用本教程成功地将外部联系人导入新创建的帐户。该帐户设置为以编程方式重新同步,但为了能够看到同步的联系人, - 除非找到联系人骗子 - 我需要这样做Contacts->Menu->Display options->Find account->Check "All Contacts"。我已经害怕愤怒的用户启用联系人同步并且看不到任何内容,所以问题是:是否可以设置显示选项以以编程方式包含导入的帐户联系人?因此,当用户选择创建帐户时,他不需要做任何其他事情来查看导入的联系人吗?

4

1 回答 1

7

我遇到了同样的问题,并通过创建帐户使用以下代码解决了它:

mAccountManager.addAccountExplicitly(account, mPassword, null);
// Set contacts sync for this account.
ContentResolver.setSyncAutomatically(account,
ContactsContract.AUTHORITY, true);
ContentProviderClient client = getContentResolver().acquireContentProviderClient(ContactsContract.AUTHORITY_URI);
ContentValues cv = new ContentValues();
cv.put(Groups.ACCOUNT_NAME, account.name);
cv.put(Groups.ACCOUNT_TYPE, account.type);
cv.put(Settings.UNGROUPED_VISIBLE, true);
try {
client.insert(Settings.CONTENT_URI.buildUpon()                  .appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true")
.build(), cv);
} catch (RemoteException e) {...}
于 2011-07-01T08:41:55.353 回答