我正在开发适用于 Android 的应用程序,并且需要存储联系人 ID,以便跟踪要在应用程序中使用的联系人子集。我目前将 ID 存储在本地使用的表中,但是如果联系人与其他联系人合并(用于表示合并联系人的 ID 经常更改),则此表会变得不一致。保持一致性的最佳方法是什么?
我的想法:
如果有某种意图或系统事件被广播,那么我可以监听它。
如果旧 ID 和新 ID 之间的映射保存在某处(ContactsContract.RawContacts?),那么只要检测到 ID 不再有效,我就可以刷新该字段。
使用内容观察者运行后台进程并观察变化。如果可能的话,我想避免这种情况。
这个问题似乎解决了类似的问题,但用于添加而不是合并联系人:Reacting to new contacts in Android Contacts application。
欢迎任何和所有想法!