2011-04-28 101 views
4

我已成功使用this tutorial將外部聯繫人導入新創建的帳戶。該帳戶設置爲以編程方式重新同步,但爲了能夠查看已同步的聯繫人 - 除非發現聯繫人欺騙 - 我需要執行Contacts->Menu->Display options->Find account->Check "All Contacts"。我已經對用戶啓用聯繫人同步功能感到憤怒,並且無法看到任何內容,因此問題是:是否可以設置顯示選項以便以編程方式包含導入的帳戶聯繫人?所以當用戶選擇創建賬戶時,他不需要做任何事情來查看導入的聯繫人?Android:以編程方式啓用導入的帳戶聯繫人

回答

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) {...} 
相關問題