Android BroadcastReceiver和Activity.onPause()

时间:2013-05-12 03:45:51

标签: android broadcastreceiver

BroadcastReceiver says的文档:

  

如果在Activity.onResume()实现中注册接收者,       你应该在Activity.onPause()中取消注册它。       (暂停时你不会收到意图,这会减少不必要的意图       系统开销)。

我做了一个活动A1的例子,它有一个内部BroadcastReceiver,当服务S1发出一个sendBroadcast时,它会更新A1接口。 S1花费大约8秒完成。

当运行A1并点击主页按钮使A1调用onPause时,“它仍然从sendBroadcast接收意图”并更新界面,我是否遗漏了某些内容或文档错误?
感谢

1 个答案:

答案 0 :(得分:0)

该文件意味着如果您在onPause()中取消注册,那么在暂停时您将不会收到广播意图。如果您没有注册,那么您将继续接收广播意图。你在onDestroy()中取消注册,但是当按下home键时,只调用onStop()并且不会调用onDestroy()。因此,您继续接收广播。