android - 如何知道联系人是否在android中添加、更改或删除

标签 android android-contacts contentobserver

我正在开发一个应用程序,我需要监听 native 联系人数据库中的更改,例如编辑/删除联系人或添加新联系人。

我知道我可以在 contentobservers 的帮助下实现这一目标。但是我发现很奇怪,android SDK 没有提供一种方法来知道添加/删除了哪个联系人或更改了哪个联系人。这会导致大量手动工作,例如遍历整个联系人列表并检查哪个已更改。

我想知道是否有更好的方法来实现这一点。我知道这个问题会被问很多次,但我想知道为什么 Android SDK 没有这样的机制?

谢谢。

最佳答案

This interesting thread from the early days of Android表示 ContentObserver 确实用来告诉您发生了什么变化,但是提供该信息太困难了。它接着说明了为什么(至少在那个时候)重新查询被认为是足够好的和安全的。

关于android - 如何知道联系人是否在android中添加、更改或删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32514441/

相关文章:

java - 在 eclipse java android 中找不到启动器 Activity

android - 其他类中的 RealmConfiguration

android - 我无法在代码中获取 EMAIL_ID 列,而是在 emailid 列中获取联系号码

android - 内容观察者如何处理已删除的文件?

android - 如果手机( native )中存在多条未读短信,如何通知从 native (手机)读取了哪些短信?

android - 为什么 Android ContentObserver 的 onChange() 没有被调用?

android - 添加一些依赖项会导致构建项目出错

android - 使用 SHA256withRSA 而不是 SHA1withRSA 生成签名

android - ContactsContract.CommonDataKinds.Phone.CONTENT_URI 与 ContactsContract.Contacts.CONTENT_URI

android - ListView 示例在结果 View 中复制联系人