2015-11-07 140 views
0

I startService()服務,然後bindService()它來自同一活動。現在,我非常肯定在活動生命週期中,活動暫停,停止或銷燬並不重要,我確信我的服務持續存在(這正是我想要的)。但是,當我按下方形按鈕(調出最近的應用程序列表)並滑動應用程序關閉它時,我相信該服務即使未被銷燬也會暫停。這只是當你以這種方式關閉應用程序時會發生什麼?有沒有辦法在服務發生之前從服務器上做一些代碼?爲什麼我的服務被破壞?

回答

2

當用戶將應用從最近點擊時,服務被終止。但如果onStartCommand(...)返回START_STICKY,它們將在幾秒鐘後重新啓動。我認爲這是一個錯誤,他們被殺害並重新啓動;他們不應該被殺害,也不會死亡,也不會重新啓動。我不確定Google是否同意。

在服務中斷之前,它會接到onTaskRemoved(...)的呼叫。

+0

謝謝您的信息。這足以解決我的問題。不過,我確實有一個隨機的假設。如果我返回START_STICKY,但在'onTaskRemoved()'我有一個stopSelf()命令,會發生什麼? – grey00

+0

@ grey00我猜它不會重新啓動,但你必須自己嘗試。 –

相關問題