我目前正在开发一个应用程序,我们将从我们自己的应用程序中添加联系人,类似于 LinkedIn 的连接方式和 Facebook 的好友方式。因此,我们想要我们的自定义帐户,如下图所示(作为“ MyAppName ”),其中包含从我们的应用程序添加的联系人:
我们目前有一个SyncAdapter
从第一张图片中看到的,只是希望它显示在联系人应用程序中。我们一直在查看文档,但找不到任何具体的内容。
这不是添加联系人,而是让帐户显示在“帐户”下的联系人应用程序中。
我目前正在开发一个应用程序,我们将从我们自己的应用程序中添加联系人,类似于 LinkedIn 的连接方式和 Facebook 的好友方式。因此,我们想要我们的自定义帐户,如下图所示(作为“ MyAppName ”),其中包含从我们的应用程序添加的联系人:
我们目前有一个SyncAdapter
从第一张图片中看到的,只是希望它显示在联系人应用程序中。我们一直在查看文档,但找不到任何具体的内容。
这不是添加联系人,而是让帐户显示在“帐户”下的联系人应用程序中。
在研究了 Budius 的建议之后,我终于想出了如何去做。这是文档中所述位置的更精确链接。基本上你只需要让你的帐户可见。除此之外,我在这里找到了如何做到这一点的答案。
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。