我正在从AsyncTask
广播数据(文件下载完成)到Fragment
,并相应地更新ListView
。
我读到广播接收机应该分别在onStart()
/onStop()
中注册/未注册。
但在这种情况下,我会错过的数据已经广播时,应用程序不是前台,但在后台运行(onStop()
调用,但onDestroyView()
不调用)。
所以要解决这个问题,我可以分别在onCreateView()
/onDestroyView()
中注册/取消注册广播接收器吗?
还建议是否有其他解决方案。
提前感谢。
我认为通常的做法是广播接收器在包括onCreate()
在内的任何方法中注册,而在包括onDestroy()
在内的任何方法中不注册。在onCreate()
和onDestroy()
方法中使用的是非常常见的做法。我还知道可能唯一的其他方式来注册广播接收器,那就是在清单中注册它。这基本上意味着一旦应用程序第一次运行,broadcastReceiver
将始终在后台运行。