我想监控网络连接的变化。 (我知道怎么做) 我没有使用清单文件,因为我不希望我的封闭应用程序被唤醒以进行连接更改。所以,我在我的主应用程序对象(而不是活动)中注册我的自定义BroadcastReceiver。
如果我在我的活动中这样做,我可以在onStop或onDestroy上取消注册。
由于我不在活动中这样做,当应用程序终止时会发生什么(由系统强制执行或者用户按下后退按钮(例如)会干净地杀死?)(我不知道应用程序什么时候终止所以我不能手动取消注册..我应该吗?)
注册的接收器是否仍然有效?应用程序会被唤醒吗?是否会完全安全地清洁?
答案 0 :(得分:0)
您应该在onStop和onDestroy上取消注册。 这将照顾你的所有用例。
由于您在活动中动态使用Receiver,而不是从清单中使用Receiver,因此只有在Receiver注册后才会收到意图。
因此,如果您注册onResume并取消注册onStop和onDestroy,只要您的活动在前台和其他时间对用户可见,它就只会收到意图。