Android Firebase数据库setvalue删除侦听器

时间:2018-03-24 17:04:01

标签: java android firebase firebase-realtime-database setvalue

在我的应用程序中运行前台服务,该服务会在启用了离线持久性的情况下将内容上传到Firebase数据库。我正在使用DatabaseReference setvalue()方法并附加一个完成侦听器,因为我绝对需要知道数据是否到达服务器(由于Firebase数据库中的脱机注销dataloss错误/功能)。

当我的用户退出Firebase时,我正在调用stopservice,我想在ondestroy方法中分离任何侦听器。因为如果我不这样做,那么因为oncompletionlistener永远存在而导致内存泄漏。

现在有什么方法可以以某种方式删除此侦听器吗?我觉得很奇怪,似乎没有合法的方法来删除监听器。我知道将一个Activity传递给Tasks监听器的选项,但是因为我在一个不是一个选项的服务中运行它?

非常感谢每一位帮助。谢谢!

请注意,setvalue方法不接受新的ValueEventListener(),它当然是可移除的。相反,它使用DatabaseReference.CompletionListener

0 个答案:

没有答案