0

我对服务和广播接收器感到困惑。这两者之间有什么关系?为什么我们在启动服务时必须调用广播接收器。谁能解释一下这两个元素之间的概念

4

2 回答 2

1

启动服务时不必注册广播接收器。也就是说,即使您没有注册 BroadcastReceiver,我们的 Service 也会按预期工作。两者之间没有必然的依赖关系。

正如 Gridtestmail 所解释的,服务是您希望在后台运行的进程,而无需与用户交互。

当您希望收到有关发生某些事件的通知时,将注册 BroadcastReceiver - 例如,发现新的蓝牙设备或接收来电。如果你注册了一个 BroadcastReceiver 来接收来电,那么onReceive()只要有来电,就会调用你的 Receiver 的方法,这样你就可以处理它了。同样,对于其他事件检测的东西。

我希望你现在清楚这个概念。

于 2013-01-08T15:34:56.940 回答
0

服务:如果您想在后台做某事,即使应用程序关闭,它也将始终在后台运行。您可以在单独的过程中创建它,也可以根据需要将您的服务提供给其他应用程序。下载任何内容或音乐就是很好的例子

广播接收器:通常系统会发送一些信息,如果您愿意,您的应用可以通过注册接收这些信息。当事情发生时,您可以使用 onReceive 方法做您想做的事情。示例是系统将在新短信到达或启动完成时发送 BroadcastReceiver

示例:服务和广播接收器

于 2013-01-08T15:27:35.780 回答