我试图了解服务和广播接收器之间的区别是什么,
在我看来,他们也可以做同样的事情。
例如我有一个应用程序:App1
提供名为 ToastHelloWorld 的服务,该服务仅创建一个 Toast 和 stopSelf()。
我使用带有操作名称的意图过滤器将其公开给其他应用程序:“com.test.HelloToast”
现在我有另一个应用程序:App2
我想隐式使用带有“com.test.HelloToast”操作的服务,所以我打电话
startService(new Intent("com.test.HelloToast"));
它有效。
当我可以用服务做所有事情并且没有 5 秒执行限制的限制时,为什么我要使用广播接收器?
我知道大多数“系统事件”都是通过广播公开的,但它们不能像服务意图一样发布吗?
广播意图通常传递到all为此目的注册了广播接收器。 (有序意图有一个例外,接收者可以中止低优先级接收者的传送)启动或绑定服务的意图仅发送到one匹配的服务实例。
有些广播意图是粘性的。这意味着它们可能已经在过去发送过,并将在您的应用程序注册接收者时发送。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)