IntentService即使应用被杀死,我也希望在后台继续运行。“杀死”是指长按主页按钮 -> 查看所有正在运行的应用程序 ->将我的应用程序滑到一边 -> 应用程序被杀死,或者长按后退按钮 -> 应用程序被杀死我的代码如下。在我的MainActivity中:Intent intent = new Intent(this, MyService.class);this.startService(intent);在我的MyService中:public class MyService extends IntentService {@Overrideprotected void onHandleIntent(Intent intent) { System.out.println("MyService started"); run();}private void run() { while (true){ System.out.println("MyService still running"); doSomething(); waitSomeTime(); }}}打开应用程序后,我看到该服务正在运行。通过主页按钮最小化应用程序时,它仍在运行。通过后退按钮关闭应用程序时,它仍在运行。但是,如果我如上所述杀死它,它将停止。我该如何解决?
3 回答
绝地无双
TA贡献1946条经验 获得超4个赞
如果您的服务是由您的应用启动的,那么实际上您的服务正在主进程上运行。因此,当应用被终止时,服务也会停止。因此,您可以做的是,从onTaskRemoved您的服务方法发送广播,如下所示:
Intent intent = new Intent("com.android.ServiceStopped");
sendBroadcast(intent);
并有一个广播接收器,它将再次启动服务。我试过了 服务会从所有类型的终止中重新启动。
- 3 回答
- 0 关注
- 672 浏览
添加回答
举报
0/150
提交
取消