编程语言
首页 > 编程语言> > Android:以编程方式启用导入的帐户联系人

Android:以编程方式启用导入的帐户联系人

作者:互联网

我使用this tutorial成功将外部联系人导入到新创建的帐户中.帐户设置为以编程方式重新同步,但是,为了能够看到已同步的联系人, – 除非找到联系人欺骗 – 我需要做联系人 – >菜单 – >显示选项 – >查找帐户 – >选中“所有联系人”.我已经害怕愤怒的用户启用联系人同步而无法看到任何内容所以问题是:是否可以设置显示选项以包含导入的帐户联系人?因此,当用户选择创建帐户时,他不需要执行任何其他操作来查看导入的联系人?

解决方法:

我有同样的问题,并通过创建帐户的代码解决了它:

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) {...}

标签:android,account-management
来源: https://codeday.me/bug/20190614/1237347.html