【发布时间】:2018-12-16 21:25:38
【问题描述】:
我已经设置了一些这样的监听器:
deviceListener = db.addSnapshotListener(this::handleDbChange)
当我有一个稳定的互联网连接时,处理程序会在数据更改时触发并允许我更新我的应用程序。但是,当我失去并重新获得互联网连接时,处理程序将停止触发。这并不总是在第一次断开连接时发生,但它总是在我的连接断开 2 或 3 次后发生。
我已尝试删除侦听器并在网络更改时重新添加它们。此外,我尝试在重新建立网络连接后直接获取数据:
db.get().add().addOnCompleteListener {
val snapshot = it.result
snapshot.toObject(Model::class.java)
}
但是,这仍然服务于陈旧的数据。我发现解决此问题的唯一方法是重新启动应用程序。
如果其他人遇到过这个问题,我会很感激您对如何解决它有任何见解。仅供参考,我正在使用库的 com.google.firebase:firebase-firestore:17.0.2 版本。
【问题讨论】:
-
我也遇到过类似的问题。重新连接后我得到了数据更新,但我无法更新或创建任何新数据。
标签: firebase kotlin google-cloud-firestore