删除 Firebase java 中的所有侦听器
Posted
技术标签:
【中文标题】删除 Firebase java 中的所有侦听器【英文标题】:Remove all listeners in Firebase java 【发布时间】:2014-02-27 15:35:53 【问题描述】:我知道文档说“// 在 Java 中,必须明确删除每个侦听器。”。但有一个问题。
我部署我的应用程序 - 添加一个侦听器(保存指针)。但是当我重新部署我的应用程序时,监听器仍然存在,但我无法删除它,因为我没有指向它的指针。
那么有什么方法可以移除所有的监听器吗? (无需重启服务器)
【问题讨论】:
目前无法删除没有句柄的所有侦听器。我们会考虑在 SDK 的未来版本中添加它。 @Anant 现在仍然如此 - 没有全局删除所有侦听器? 剩下的听众到底有什么问题? 现在还是这样吗?一旦用户在我的应用程序中注销,我只想关闭所有侦听器。 【参考方案1】:直到现在这仍然适用,因为您不能一次删除所有侦听器。
要检查任何更新,您可以查看此链接:https://firebase.google.com/support/release-notes/android
目前,您可以在onDestroy()
内进行操作
protected void onDestroy()
super.onDestroy();
yourdatabasereference.removeEventListener(Listenernamehere);
【讨论】:
什么不起作用?这只会删除Listenernamehere
我删除了事件监听器,但即使在此之后它也会监听数据变化
onDestroy()
是最后一个活动生命周期,这意味着当它被调用时,活动将被销毁。我不确定它是如何监听数据变化的。如果你在onStart()
中添加了监听器,然后删除了onDestroy()
,这意味着你离开了活动,所以它不会监听任何变化..
@PeterHaddad 纠正我如果我错了...但是 AddListener 和 RemoveListener 的耦合不应该在 onStart 和 onStop 中。如果它的 onCreate 和 onDestroy 也一样。同样 onPause & onResume ???
是的@YoApps 这取决于你在哪里添加了监听器,但如果你在onCreate()
中添加它,那么你在onDestroy()
中删除它以上是关于删除 Firebase java 中的所有侦听器的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.RuntimeException: RESTEASY013050: RESTeasy Provider Factory 为空,您是不是配置了 ResteasyBootstrap 侦
在明确删除之前,SingleValueEvent 侦听器是不是计入 Firebase RealTime DB 中的“同时连接”?
如何从Button的onClick侦听器中删除Firebase DataBase
如何删除 firebase.notifications().onNotificationOpened 监听器?