2009-12-23 100 views
3

我想写一个应用程序,用户可以在其中输入他的姓名,电话号码,Facebook ID/Twitter ID等......然后将其添加到现有的联系人应用程序中。如何在android 2.0的联系人中添加自定义数据/字段?

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

+0

如果您希望从内置的“联系人”应用程序中执行此操作,而不是通过编程方式执行操作,则可以尝试询问www.forceclose.com – 2009-12-23 19:55:07

+0

我想以编程方式执行此操作 - “ ”从我的测试应用程序联系应用程序 - 编程“? – Giridhar 2009-12-24 07:11:32

回答

5

您可以轻松地做到这一点通过插入你自己的MIME类型:

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") 

然后你就可以从自己的应用程序很容易使用(查询)方法读取自己的数据,你通过你的搜索条件的MIME类型。

此外,如果你想更新一个已经存在的联系人,你只需要添加新的mimtype到该联系人。

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") 

在这种情况下,你也可以看到它的联系人应用程序,不仅在你的应用。

相关问题