1

从 onReceive() 返回后,BroadcastReceiver 不再处于活动状态,它的托管过程仅与在其中运行的任何其他应用程序组件一样重要。这一点尤其重要,因为如果该进程仅托管 BroadcastReceiver(用户从未或最近没有与之交互的应用程序的常见情况),那么在从 onReceive() 返回时,系统将认为其进程为空并主动终止以便资源可用于其他更重要的流程。

这意味着,对于运行时间较长的操作,您通常将 Service 与 BroadcastReceiver 结合使用,以在整个操作期间保持包含进程的活动状态。

以上文字取自安卓网站。但我无法找到如何将服务与广播接收器结合使用。有人可以为此或任何示例分享一些链接吗?

我找到了这个链接 - stackoverflow。这是正确的做法吗?

4

1 回答 1

1

BroadcastReceiver 是您可以在服务和应用程序/活动之间建立通信的一种方式。基本上,服务可以向您的活动发送广播,然后您的活动将在 onReceive() 中处理它需要的任何内容。

在您的服务中,您将使用具有特定意图操作的意图发送广播,在您的活动中,您将注册具有相同操作的接收器。这样,当您发送广播时,您的活动将能够接收它。

一个很好的例子/开始的地方:(查看第 7 节的完整代码示例) http://www.vogella.com/articles/AndroidServices/article.html

祝你好运!

于 2013-11-12T18:13:07.247 回答