IntentService即使應(yīng)用被殺死,我也希望在后臺繼續(xù)運行。“殺死”是指長按主頁按鈕 -> 查看所有正在運行的應(yīng)用程序 ->將我的應(yīng)用程序滑到一邊 -> 應(yīng)用程序被殺死,或者長按后退按鈕 -> 應(yīng)用程序被殺死我的代碼如下。在我的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(); }}}打開應(yīng)用程序后,我看到該服務(wù)正在運行。通過主頁按鈕最小化應(yīng)用程序時,它仍在運行。通過后退按鈕關(guān)閉應(yīng)用程序時,它仍在運行。但是,如果我如上所述殺死它,它將停止。我該如何解決?
3 回答

絕地無雙
TA貢獻1946條經(jīng)驗 獲得超4個贊
如果您的服務(wù)是由您的應(yīng)用啟動的,那么實際上您的服務(wù)正在主進程上運行。因此,當應(yīng)用被終止時,服務(wù)也會停止。因此,您可以做的是,從onTaskRemoved您的服務(wù)方法發(fā)送廣播,如下所示:
Intent intent = new Intent("com.android.ServiceStopped");
sendBroadcast(intent);
并有一個廣播接收器,它將再次啟動服務(wù)。我試過了 服務(wù)會從所有類型的終止中重新啟動。
- 3 回答
- 0 關(guān)注
- 703 瀏覽
添加回答
舉報
0/150
提交
取消