我试图了解服务和广播接收器之间的区别,正如我所看到的,他们可以做同样的事情.
例如,我有一个应用程序:App1提供名为ToastHelloWorld的服务,它只创建一个Toast和stopSelf().我使用具有操作名称的"intent"过滤器将其公开给其他应用程序:"com.test.HelloToast"
现在我有另一个应用程序:App2我想隐式使用动作"com.test.HelloToast",所以我调用startService(new Intent("com.test.HelloToast"));
它的工作原理.
当我可以用服务做所有事情并且没有5秒执行限制的限制时,为什么我会使用广播接收器?
我知道大多数"系统事件"是通过广播公开的,但它们不能仅作为服务意图发布吗?
广播意图通常会传递到为该意图注册的所有广播接收器。(有序意图有一个例外,即接收者可以中止低优先级接收者的传送)启动或绑定服务的意图仅发送到一个匹配的服务实例。
有些广播意图是粘性的。这意味着它们可能已经在过去发送过,并将在您的应用程序注册接收者时发送。
| 归档时间: |
|
| 查看次数: |
3708 次 |
| 最近记录: |