2009-12-23 102 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") 

在這種情況下,你也可以看到它的聯繫人應用程序,不僅在你的應用。

相關問題