【发布时间】:2014-08-04 20:23:52
【问题描述】:
我在使用 Firebase 的 onDisconnect() 时遇到问题。当我注册ef.onDisconnect().removeValue() 然后断开互联网并关闭应用程序(正常或强制关闭,没关系)时,它不会删除值(是的,我等了超过 5 分钟,值仍然存在)。这就是我创建 firebase 并注册 onDisconnect 的方式。
Firebase ref = new Firebase("....");
ref.onDisconnect().removeValue();
当我调用ref.setValue(...) 或ref.removeValue() 时,它可以正常工作。
sdk 有什么问题还是我应该改变一些东西?
【问题讨论】:
-
没有 removeValue() 或 setValue() 命令。您可以尝试使用 set() 和 remove() 并更新您的示例以匹配结果吗?
-
我正在写有关 java sdk 的文章,其中有命令 removeValue 和 setValue。见firebase.com/docs/managing-presence.html第一个java例子,有presenceRef.onDisconnect().setValue("I was disconnected!"),我不需要setValue,但是removeValue并没有用。
-
抱歉,我错过了 Java 标记 :( 您是否在执行 setValue()/removeValue() 之前进行身份验证?可能的答案是您的 onDisconnect() 触发时权限不同(即用户in 不再经过身份验证或数据处于不允许写入的状态)。