2010-05-28 66 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中的字段。您可以针对联系人存储详细信息,但不会显示在内置的编辑联系人屏幕中。