Android中的RawContacts.CONTENT_URI和ContactsContract.Contacts.CONTENT_URI有什么区别?
我正在尝试编写一个侦听本地地址簿更改的服务。那么,使用哪一个?
感谢 NIZ
答案 0 :(得分:4)
联系人(用户认为)是RawContact的集合
RawContact是与某个帐户或协议相关的一些细节
ContactsContract.Contacts.CONTENT_URI通常是正确使用的,因为它会从整个匹配的RawContacts中恢复正确的显示名称,并可以帮助您加入所有链接的帐户
如果您想匹配与帐户/协议相关的特定[联系人]联系人,可以使用RawContacts.CONTENT_URI
然后有各种数据类型/目录可以带回更广泛的数据范围。
您应该使用哪一个问题归结为您正在观看的数据以及您是否/如何显示它,以及您要观看的行数。我会说经常使用ContactsContract。
这也取决于您希望“通知”的细化程度。即内容观察者回调可以为您提供一个URL来显示已更改的内容,但仅此而已,这意味着如果您只想对您知道已更改的特定行进行操作,那么您将拥有观察不同的事情,而不是只是想知道发生了一些更改,并且是时候通知notifyDataSetChanged了!