在Android中,RawContacts.CONTENT_URI和ContactsContract.Contacts.CONTENT_URI有什么区别?

4

在Android中,RawContacts.CONTENT_URI和ContactsContract.Contacts.CONTENT_URI有什么区别?

我正在尝试编写一个服务来监听本地通讯录的更改。那么应该使用哪个?

谢谢。 Niz

1个回答

4

联系人(用户所感知的)是一组原始联系人的聚合集

原始联系人是与特定账户或协议关联的一些详细信息

ContactsContract.Contacts.CONTENT_URI 通常是正确的内容,因为它从所有匹配的 RawContacts 中返回正确的显示名称,并帮助您连接所有链接的帐户

RawContacts.CONTENT_URI 可以用于匹配与帐户/协议相关的特定[一组]联系人

还有各种数据类型/目录可返回更广泛的数据。

应该使用哪个取决于您正在观看的数据以及您如何显示它以及要观看多少行。我认为往往正确使用 ContactsContract。

它还取决于您想要多么精细的“通知”。即内容观察器回调可以为您提供一个 URL 来显示已更改的内容,但没有更多信息,这意味着如果您只想对您知道已更改的特定行采取行动,那么您将不得不观察不同的事物,而不仅仅是想知道发生了某些更改并且现在是时候 notifyDataSetChanged 了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接