0

我很确定根据一些初步研究来做我想做的事情是不可行的,但我认为如果有人知道方法,请在这里询问专家社区并没有什么坏处。

我想为用户可以从主联系人应用程序编辑的联系人创建一个自定义字段;但是,应该只允许用户从四个特定值的列表中进行选择。一个简短的字符串值列表将是理想的,但具有最小/最大范围的 int 就足够了。

我很想知道这两种方法是否可行,但也想知道这条路线的性能是否有意义。更具体地说,每次收到电话或短信时查找联系人(基于电话号码)会更好,还是存储我自己的数据集(由姓名、号码和自定义字段组成)更好?只是经常在一个线程中同步联系人信息?或者在第一次运行应用程序时同步联系人,然后使用ContentObserver?

这是一个类似的问题,其答案解释了如何向联系人添加自定义字段

提前致谢。

4

1 回答 1

1

我没有看到将您自己的数据集与存储在单独数据库中的联系人的数据集的目的,因为您显然会遇到同步问题。您可以使用 mimetype 并以您链接的方式存储您想要针对联系人的任何内容。

每当您想查找联系人时,您都可以使用您的自定义 mimetype 来做到这一点。您获取联系人 ID(来自ContactsContract.Data.CONTENT_URI),然后运行另一个查询以获取联系人详细信息(来自ContactsContract.Contacts.CONTENT_URI)。请注意,这些是不同的表格。

我想为用户可以从主联系人应用程序编辑的联系人创建一个自定义字段

当您使用自定义 mimetypes 时,我不认为这是可能的,可从主应用程序编辑,而且您在这里没有太多选择。主要联系人应用程序将仅显示 SDK 中的字段。您可以存储联系人的详细信息,但它们不会显示在内置的编辑联系人屏幕中。

于 2010-05-28T13:16:02.233 回答