我为我的应用程序运行了一个推送服务,负责保持TCP连接处于活动状态并在传入消息上创建通知。
即使活动已关闭,我也需要运行此服务,因此在线发布的解决方案是调用startService()
而不是bind()
,这确实解决了服务以活动销毁而终止的问题
但是如果没有Binder,我该如何调用我的服务方法?我设法开始工作的一种方法是BroadcastReceiver
。是否有更简单的方法来实现这种行为?
答案 0 :(得分:3)
添加您用来调用startService
的操作,一个用于您要调用/处理的每个不同方法/案例,并在调用intent.getAction()
时使用onStartCommand
检索1}} p>
每次调用此方法都会导致相应的调用 目标服务的onStartCommand(Intent,int,int)方法,用 意图在这里给出。这提供了一种方便的方式来提交作业 服务,而不必绑定并调用其接口。