2017-06-03 106 views
0

我的應用程序需要服務在後臺運行甚至當應用程序被關閉,我剛剛實施START_STICKY防止OS關閉它,但是當我手動關閉應用程序的服務停止運行,我不知道如何讓它活着,而無需使用startforeground如何在關閉應用程序時保持服務運行?

它類似於WhatsApp的和電報的istant消息應用程序,所以我的目標是實現一種推送通知系統。

所以主要問題是:當用戶手動關閉應用程序時,如何讓服務保持活動狀態

+1

閱讀此答案:https://stackoverflow.com/questions/9740593/android-create-service-that-runs-when-application-stops?rq=1 – Stanojkovic

回答

0

只要按照這種服務生命週期,並根據您的需要做。

Services Life-Cycle

+0

謝謝你的回答,但我不是肯定我應該做的,你可以聯繫我來解釋您剛剛發佈,請服務的生命cicle一個文檔? – Teddy

+0

只是閱讀本文件鏈接https://developer.android.com/guide/components/services.html –

0

發現後有沒有任何真正滿意的答案,這在計算器上或其他地方,我決定來研究(目前,2017年)明確的解決辦法。

這就是:

https://github.com/JamesSmartCell/PersistentWidgetTask.git

這是一個演示,說明如何實現持續的後臺任務沒有得到關閉,這也顯示了一個非常簡單的實現一鍵小工具也是另一種非常常見的設計,它沒有收到很多好的答案。

我看了很多在互聯網上的小演示,關鍵這是極好的Vogella網站在這裏:

http://www.vogella.com/tutorials/AndroidTaskScheduling/article.html

細目:

  1. 您需要使用JobScheduler而不是AlarmManager
  2. 您需要創建一個JobService才能接收預定的作業,然後從JobService onStartJob調用您的後臺服務
  3. 在你AndroidManifest文件,你需要指定:

    安卓權限=「android.permission.BIND_JOB_SERVICE」

我希望這樣可以節省別人誰是仍在尋找答案了不少時間!

相關問題