我可以注册/注销广播接收器在onCreateView/onDestroyView分别



我正在从AsyncTask广播数据(文件下载完成)到Fragment,并相应地更新ListView

我读到广播接收机应该分别在onStart()/onStop()中注册/未注册。

但在这种情况下,我会错过的数据已经广播时,应用程序不是前台,但在后台运行(onStop()调用,但onDestroyView()不调用)。

所以要解决这个问题,我可以分别在onCreateView()/onDestroyView()中注册/取消注册广播接收器吗?

还建议是否有其他解决方案。

提前感谢。

我认为通常的做法是广播接收器在包括onCreate()在内的任何方法中注册,而在包括onDestroy()在内的任何方法中不注册。在onCreate()onDestroy()方法中使用的是非常常见的做法。我还知道可能唯一的其他方式来注册广播接收器,那就是在清单中注册它。这基本上意味着一旦应用程序第一次运行,broadcastReceiver将始终在后台运行。

最新更新