我正在构建一个应用程序,用户可以在其中安装此应用程序的设备的联系人(使用phoneNumber)进行交互(几乎是Whatsapp,Viber功能)
现在可以通过函数getContacts()实现此功能
- 在我的服务器上存储所有应用程序注册
- 从应用程序,将所有联系人发送到服务器并在服务器响应中接收已注册的联系人
但是,这会在添加/删除联系人或更新现有联系人的情况下导致同步问题
为此,我的知识指导我三种选择
- 每次启动应用程序时,都要调用此getContacts()方法,以便检索到的数据是新鲜的
- 不确定这是否是Whatsapp&viber使用的方法,它可以实现,但在每次发布时都会进行大量不必要的处理
- 让后台服务通过getContacts()方法轮询服务器
- 这可以保持联系人同步
- 但是,这不会立即刷新更改.在Whatsapp中,如果我更改了联系人的姓名,它几乎可以即时反映出来
- 在ContactsContract.CONTENT_URI上注册一个ContentObserver(对此真的不是很了解)
请提供您的见解