如何在原生联系人应用中显示自定义帐户,如Google / LinkedIn / Facebook?

时间:2013-03-06 10:09:06

标签: android android-contacts accountmanager android-syncadapter

我目前正在开发一个应用程序,我们将从我们自己的应用程序添加联系人,类似于LinkedIn有连接和Facebook有朋友的方式。因此,我们希望我们的自定义帐户显示在下面的图片中(作为“ MyAppName ”),并在我们的应用程序中添加了联系人:

我们目前从第一张图片中看到SyncAdapter,因此希望在“联系人”应用程序中显示此内容。我们一直在查看文档,但找不到任何具体的内容。

这不是要添加联系人,而是让帐户显示在“帐户”下的联系人应用程序中。

1 个答案:

答案 0 :(得分:4)

在研究了Budius的建议后,我终于想出了如何做到这一点。 Here是指向文档中所述位置的更精确链接。基本上你只需要让你的帐户可见。除此之外,我找到了关于如何做到这一点的答案here

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

此代码的所有功劳都归Henry Pushel所示。