gpt4 book ai didi

android - 联系人备份和同步应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:30:22 25 4
gpt4 key购买 nike

我正在处理联系人备份和同步。

目标是将所有联系人的所有详细信息发送到服务器(自定义协议(protocol)定义)作为备份。

在应用程序初始启动期间,所有联系人都将排队并发送到服务器。之后,一个后台服务将一直运行,监听新的联系人添加/联系人更新,这个新的/更新的联系人将由后台服务发送到服务器。

我正在使用 RawContactsEntity用于获取记录。

我尝试在 RawContacts/Data 表上使用 ContentObserver 来获取联系人添加或联系人更改的通知。但是,据我所知,ContentObserver 会通知(onChange())整个表中的更改数据,而不是单个记录的 ID。

现在我的问题是,如何获得更改/新记录的确切 ID?

我想创建一个备份表来与 native 联系人表进行比较并获取更改的记录。但随着触点数量的增加,性能将急剧下降,这也会影响电池生命周期。

你能建议我,从性能和内存使用的角度来看实现此联系人备份操作的最佳方法吗?联系人同步操作还有其他方法吗?

如果有人可以分享可以帮助我的示例,那将非常有帮助。

最佳答案

如果联系人存储在您的帐户中(AccountManger),Android 将在原始联系人中标记脏标志。如果这不是您的帐户,那么您不能信任脏标志,因为帐户同步适配器可能已将联系人更新到服务器并重置脏标志。您唯一的选择是重新上传完整的联系人(简单且易于编码)或跟踪 RawContacts 中的版本列并检查哪个已更改。实际上不建议从其他帐户复制和上传联系人,因为相应的同步适配器无论如何都会维护这些联系人的备份。就像谷歌将在他们的服务器上有一份谷歌联系人的副本。

关于android - 联系人备份和同步应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5498975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com