IntentService即使應用被殺死,我也希望在后臺繼續(xù)運行。“殺死”是指長按主頁按鈕 -> 查看所有正在運行的應用程序 ->將我的應用程序滑到一邊 -> 應用程序被殺死,或者長按后退按鈕 -> 應用程序被殺死我的代碼如下。在我的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貢獻1982條經(jīng)驗 獲得超2個贊
如果您的服務是由您的應用啟動的,那么實際上您的服務正在主進程上運行。因此,當應用被終止時,服務也會停止。因此,您可以做的是,從onTaskRemoved您的服務方法發(fā)送廣播,如下所示:
Intent intent = new Intent("com.android.ServiceStopped");
sendBroadcast(intent);
并有一個廣播接收器,它將再次啟動服務。我試過了 服務會從所有類型的終止中重新啟動。
- 3 回答
- 0 關注
- 2333 瀏覽
添加回答
舉報
0/150
提交
取消