Tru*_*lNL 7 android listener firebase google-cloud-firestore
我注册了一个侦听器,用于侦听对查询的更改。当一个文档被移除/删除时,它需要检查更改是否是本地的。如果更改是本地更改,则会显示一条消息。如果它不是本地的,则该对象将被删除。
问题是在侦听器中签入时hasPendingWrites()
返回false
。这是为什么?根据 Firestore 文档,这应该是true
第一次,因为在更改本地缓存时会立即触发侦听器。
AsyncArrayHandler 的简化代码,在监听器激活时调用:
for (DocumentChange documentChange : queryDocumentSnapshots.getDocumentChanges())
{
changeIsMadeLocal = documentChange.getDocument().getMetadata().hasPendingWrites();
switch (documentChange.getType())
{
case REMOVED:
if (changeIsMadeLocal)
{
//do stuff here
}
break;
}
}
Run Code Online (Sandbox Code Playgroud)
对于每个人(看看视图,几乎没有人)遇到与我相同的问题,Firebase 正在调查它,似乎这是一个仅存在于某些设备和模拟器上的错误。他们不太确定它来自哪里,但正在试图找出答案。
当他们给我更多信息时,我会编辑这个答案。
归档时间: |
|
查看次数: |
574 次 |
最近记录: |