如何在android 2.0中的联系人中添加自定义数据/字段?

时间:2009-12-23 18:52:16

标签: android

我正在尝试编写一个应用程序,用户可以在其中输入他的姓名,电话号码,Facebook ID / Twitter ID等...然后将其添加到现有的联系人应用程序中。

姓名,电话号码 - 默认情况下存在于联系人应用中。如何添加Facebook ID或Twitter ID?我的意思是我的应用程序中的联系人应用程序中的自定义字段。

2 个答案:

答案 0 :(得分:5)

您可以通过插入自己的mimetype轻松完成此操作:

Builder builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID,0)
.withValue(ContactsContract.Data.MIMETYPE,"vnd.android.cursor.item/facebook")
.withValue("data1","bkhashfehFacebookId")

然后,您可以使用(查询)方法轻松地从您自己的应用程序中读取您自己的数据,并在搜索条件中传递mimetype。

此外,如果您想更新已存在的联系人,只需向该联系人添加新的mimtype。

答案 1 :(得分:2)

我还有另一个建议: 您可以使用以下代码将Facebook信息添加为IM地址:

Builder builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID,0)
.withValue(ContactsContract.Data.MIMETYPE,"ContactsContract.CommonDataKinds.Im.CONTENT_ITEM_TYPE")
.withValue(ContactsContract.CommonDataKinds.Im.DATA,"bkhashfehFacebookId")
.withValue(ContactsContract.CommonDataKinds.Im.TYPE,ContactsContract.CommonDataKinds.Im.TYPE_WORK)
.withValue(ContactsContract.CommonDataKinds.Im.PROTOCOL,ContactsContract.CommonDataKinds.Im.CUSTOM_PROTOCOL)
.withValue(ContactsContract.CommonDataKinds.Im.CUSTOM_PROTOCOL,"FaceBook")

在这种情况下,您也可以在“联系人”应用程序中看到它,而不仅仅是在您的应用程序中。