2010-05-28 74 views
0

我很確定這是不可行的做我想基於一些最初的研究,但我認爲它不會傷害到如果有人知道某種方式,請向這裏的專家社區諮詢。定製聯繫人字段的可能性與值集和聯繫人查詢性能的集合列表

我想爲聯繫人創建一個自定義字段,用戶可以從主要的通訊錄應用程序編輯;但是,用戶只能從四個特定值列表中進行選擇。字符串值的簡短列表將是理想的,但具有最小/最大範圍的int就足夠了。

我很想知道它是否有可能,但也想知道是否明智地走這條路線的性能。更具體地說,每次收到電話或短信時最好查找聯繫人(基於電話號碼),或者更好地存儲我自己的一組數據(包括姓名,號碼和自定義字段)以及每隔一段時間只在一個線程中同步聯繫人信息?或者在第一次運行應用時同步聯繫人,然後使用ContentObserver註冊更改?

這裏是一個類似的問題,與answer that explains how to add a custom field to a contact

在此先感謝。

回答

1

我看不到的目的有自己的一套針對存儲在單獨的數據庫接觸數據,因爲你顯然會遇到不同步的問題。您可以按照鏈接的方式使用mimetype並存儲您想要的聯繫人。

無論何時你想隱藏聯繫人,你都可以通過使用自定義的mimetype來實現。您將獲得聯繫人ID(來自ContactsContract.Data.CONTENT_URI),然後再運行另一個查詢以獲取聯繫人詳細信息(來自ContactsContract.Contacts.CONTENT_URI)。請注意這些是不同的表格。

我想創建聯繫人自定義字段,用戶能夠從主要聯繫人應用程序編輯

我不認爲這有可能,從主應用程序編輯,當你使用你的自定義mimetypes時,你在這裏沒有太多的選擇。主要的聯繫人應用程序將只顯示SDK中的字段。您可以針對聯繫人存儲詳細信息,但不會顯示在內置的編輯聯繫人屏幕中。