1

BroadcastReceiver 的文档

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

我制作了一个 Activity A1 的示例,它有一个内部 BroadcastReceiver,当服务 S1 发出 sendBroadcast 时,它会更新 A1 接口。S1 大约需要 8 秒才能完成。

当运行 A1 并点击主页按钮以使 A1 调用 onPause 时,“它仍然接收来自 sendBroadcast 的意图”并更新界面,是我遗漏了什么还是文档有误?
谢谢

4

1 回答 1

2

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

于 2013-05-12T16:30:36.257 回答