android 中的 RawContacts.CONTENT_URI 和 ContactsContract.Contacts.CONTENT_URI 有什么区别?

我正在尝试编写一个服务来监听 native 地址簿中的变化。那么,该使用哪一种呢?

谢谢
尼兹

最佳答案

联系人(如用户所感知的)是 RawContact 的聚合集

RawContact 是与某个帐户或协议(protocol)相关联的一些详细信息

ContactsContract.Contacts.CONTENT_URI 通常是正确的使用,因为它从整个匹配的 RawContacts 集中带回正确的显示名称,并可以帮助您加入所有链接的帐户

如果您想匹配与帐户/协议(protocol)相关的特定 [set of] 联系人,则可以使用 RawContacts.CONTENT_URI

然后有各种数据类型/目录可以带回更广泛的数据。

您应该使用哪一个的问题归结为您正在观看的数据以及是否/如何显示它,以及您尝试观看的行数。我经常会说使用 ContactsContract 是正确的。

它还取决于您希望“通知”的细化程度。 IE。内容观察器回调可以为您提供一个 URL 来显示更改的内容,但仅此而已,这意味着如果您只想对您知道已更改的特定行采取行动,那么您将不得不观察与您不同的事情只是想知道发生了一些变化,是时候通知DataSetChanged了!

关于android - android 中 RawContacts.CONTENT_URI 和 ContactsContract.Contacts.CONTENT_URI 的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22083539/

10-10 10:31