我正在使用Otto将events
从IntentService
发送到我的活动。 IntentService
从服务器下载文件并将进度发送到活动,这与otto
非常合作。
-
在OnResume
BusStation.getBus().unregister(this);
创建了接收事件的功能
@Subscribe
public void receiveProgress(Message message){
Log.i("Downloader",message.getMessage()+"");
}
取消注册OnPause
BusStation.getBus().unregister(this);
我有Button
,点击DownloadService启动,此服务将下载进度发送到receiveProgress
功能。
但是当我关闭我的应用并重新启动应用,然后如果DownloadSerice
仍在下载文件时,它永远不会在receiveProgress
上发送下载进度事件
所以如何重新解决这个问题。
答案 0 :(得分:0)
我假设BusStation.getBus()
返回一个单例。但是,当您重新启动应用程序时,必须再次创建单例,因此它不再是同一个实例。
您可以使用LocalBroadcastManager来解决此问题:
https://developer.android.com/reference/android/support/v4/content/LocalBroadcastManager.html