帐户未显示在HTC设备上的联系人应用设置中

时间:2010-12-05 20:35:57

标签: android contacts htc-android

我根据SDK中的示例编写了自己的SyncAdapter。它应该从外部源添加联系人,它在设备模拟器中工作得很好。但是当我在HTC Desire上运行它时,我无法在联系人中看到我的帐户 - >显示选项

此外,我在Desire上尝试了google的示例,但也无法在此列表中看到它们。有谁知道任何解决方案?

2 个答案:

答案 0 :(得分:6)

我通过默认显示帐户来解决此问题。

ContentProviderClient client = getContentResolver().acquireContentProviderClient(ContactsContract.AUTHORITY_URI);
ContentValues values = new ContentValues();
values.put(ContactsContract.Settings.ACCOUNT_NAME, account.name);
values.put(ContactsContract.Settings.ACCOUNT_TYPE, account.type);
values.put(ContactsContract.Settings.UNGROUPED_VISIBLE, true);
try
{
  client.insert(Settings.CONTENT_URI.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build(), values);
}
catch (RemoteException e)
{
  e.printStackTrace();
}

默认情况下该帐户可见后,您可以在通讯录的帐户列表中看到它

答案 1 :(得分:0)

要在标准 通讯录 应用的 “显示选项” 中显示您的帐户,您应该{{ 1}}在你的应用程序中,它是在SyncAdapter中指定的元数据here

此外,您应在syncadapter.xml中指定使用android.permission.WRITE_SYNC_SETTINGS权限。

AndroidManifest.xml仅对联系人群组列表显示。