同步 Android 联系人
Posted
技术标签:
【中文标题】同步 Android 联系人【英文标题】:Sync Android contacts 【发布时间】:2016-09-17 12:24:50 【问题描述】:我正在制作一个应用程序,它可以获取所有联系人并将其保存在我的数据库中,它运行良好。
现在,每当用户在本机中执行 CRUD 操作时,我希望我的应用程序能够观察到这一点,以便我也可以在我的数据库中进行更新。 所以经过大量研究后,我发现无法知道哪个特定联系人已被更新或删除。
所以我将联系人的 CONTACT_LAST_UPDATED_TIMESTAMP 与我的同步时间进行了比较。
现在面临的问题是 Google 同步 每 20 分钟运行一次并更新所有联系人 CONTACT_LAST_UPDATED_TIMESTAMP。 它让我更新所有这些联系人
是否有任何其他可能的方式来实现同步(获取已更新的特定联系人)。尝试过同步适配器,只告诉 URI 的变化而不是特定的联系人。
任何帮助或领导将不胜感激。谢谢
【问题讨论】:
我必须在我的应用程序数据库中维护一个我自己的列表,以跟踪我的本地联系人的任何变化 我无法每次比较以获取更改。因为应用需要每秒更新一次 你可以看到这个答案***.com/questions/10431881/… 这不是我想要的。连版本都在更新中 你为什么不试试 BroadCast Receiver 来获取关于联系人更新、添加或删除的广播消息?还是 ContentObserver ? 【参考方案1】:一种方法是保留联系人数据库的本地副本,只需要 id 和 version 等信息。
这里的“version”是一个有趣的列,每次联系人发生变化时都会增加。所以你可以用它来准确地找出哪一个被改变了。
【讨论】:
以上是关于同步 Android 联系人的主要内容,如果未能解决你的问题,请参考以下文章
如何检测更新的android联系人并同步到firestore
如何使用谷歌联系人api以编程方式将手机联系人同步到android中的gmail
用于在 android 和 osx 之间同步联系人的通用数据结构