我正在尝试理解服务(Service)和广播接收器(Broadcast Receiver)之间的区别,因为我认为它们可以完成相同的任务。
例如,我有一个名为App1的应用程序,提供了一个称为ToastHelloWorld的服务,该服务只是创建一个Toast并调用stopSelf()。我使用意图过滤器将其公开给其他应用程序,操作名称为:“com.test.HelloToast”。
现在我有另一个应用程序:App2,我想要使用操作“com.test.HelloToast”隐式地使用服务,所以我调用startService(new Intent("com.test.HelloToast"));
然后它就能工作了。
既然我可以使用服务完成所有事情,并且没有5秒执行限制的限制,为什么要使用广播接收器呢?
我知道大多数“系统事件”都是通过广播公开的,但它们不也可以发布为服务意图吗?
例如,我有一个名为App1的应用程序,提供了一个称为ToastHelloWorld的服务,该服务只是创建一个Toast并调用stopSelf()。我使用意图过滤器将其公开给其他应用程序,操作名称为:“com.test.HelloToast”。
现在我有另一个应用程序:App2,我想要使用操作“com.test.HelloToast”隐式地使用服务,所以我调用startService(new Intent("com.test.HelloToast"));
然后它就能工作了。
既然我可以使用服务完成所有事情,并且没有5秒执行限制的限制,为什么要使用广播接收器呢?
我知道大多数“系统事件”都是通过广播公开的,但它们不也可以发布为服务意图吗?