5

我正在构建一个应用程序,用户可以在其中与安装了此应用程序的设备的联系人(使用 phoneNumber)进行交互(几乎是 Whatsapp、Viber 的功能)

现在这个功能可以通过函数getContacts()来实现

  1. 将所有应用程序注册存储在我的服务器上
  2. 从应用程序,将所有联系人发送到服务器并在服务器响应中接收注册的联系人

但是,在添加/删除联系人或更新现有联系人的情况下,这会导致同步问题

为此,我的知识引导我选择三种选择

  1. 每次启动应用程序时,调用此 getContacts() 方法,以便检索到的数据是最新的
    • 不确定这是否是 Whatsapp 和 viber 使用的方法,它可以实现,但在每次启动期间都有很多不必要的处理
  2. 让后台服务通过 getContacts() 方法轮询服务器
    • 这可以保持联系人同步
    • 但是,这不会立即刷新更改。在 Whatsapp 中,如果我更改联系人的姓名,它几乎会立即反映
  3. 在 ContactsContract.CONTENT_URI 上注册一个 ContentObserver(对此真的没什么想法)

请提供您的见解

4

0 回答 0