为了账号安全,请及时绑定邮箱和手机立即绑定

Android:当应用被杀死时,保持服务运行

Android:当应用被杀死时,保持服务运行

吃鸡游戏 2019-12-21 11:18:39
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);

并有一个广播接收器,它将再次启动服务。我试过了 服务会从所有类型的终止中重新启动。


查看完整回答
反对 回复 2019-12-21
  • 3 回答
  • 0 关注
  • 639 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信