我正在开发一个需要知道何时添加/更新/删除联系人的 Android 应用程序。
所以我为此阅读了几篇文章。我了解每当联系人发生更改时,我们都可以通过内容观察者获得通知,但我们无法获取已添加/更新/删除的联系人。所以我已经阅读了官方 API 并准备了如何捕获特定联系人的设计。
所以我一开始的想法
- 我们将存储所有联系人 ID、已删除标志和版本
- 每当更改联系人时,我都会从 Android 系统获取我的表格的行数和行数。
- 如果我的行数小于系统行数,则联系人已被删除。
- 如果我的行数大于系统行数,则添加了一个联系人。
- 如果不是这些情况,则其中一个联系人版本已更改。
我还了解到,如果联系人被用户删除,Android 不会删除该联系人,但它会将已删除标志设置为 0。所以在这些情况下,行数将是相同的。
如官方文档中所述,Android 还会多次更改联系人的行 ID。那么我们如何才能像查找 uri 一样唯一地识别它们,如果不是,那么我们也必须为此设置观察者。
所以我想知道以上是否正确?在添加联系人的情况下,是否会将其添加到游标的最后一行,这意味着如果我检查系统数据库的最后一行是否有联系人,它是否会给我添加的联系人。