2017-07-19 39 views
-2

我希望用戶能夠創建多個定時器。這些定時器應該能夠同時運行,並且應該能夠在活動被破壞時運行。問題是我真的不知道如何實現這一點,因爲這兩種服務似乎都無法實現我所尋找的功能。即使在活動被破壞後,啓動的服務也能夠在活動的後臺運行。但是,Started Services缺少可用於有界服務的客戶端服務器方面。然而,有界服務嚴重依賴於調用組件(Activity)。我希望將服務的結果輸出到活動中。哪種服務更適合我的需求?允許定時器超時活動

我還需要能夠運行多個定時器。我最初的計劃是爲每個定時器創建一個新線程,然後在線程之間切換以顯示特定的定時器。但是我注意到,在我的一個測試程序中,一旦活動被破壞(使用有界服務),線程標識就會改變,表示新線程正在執行程序。我有權做出這個結論嗎?當我運行多個定時器時,我是否正確?任何見解都會有幫助。

+0

參考[this](https://developer.android.com/training/scheduling/alarms.html)和[this](https://developer.android.com/reference/android/app/AlarmManager。 HTML)。 –

回答

1

我不知道爲什麼你的問題是downvoted。

不僅有解決方案,在評論中顯示。這取決於你想要發射事件的頻率和時間。

  1. 您可以使用前臺服務。

  2. 你可以把你的Timer放在Application類中。

  3. 您可以使用Application類和接口在活動和服務之間創建簡單的綁定。

  4. 您可以發送消息。

  5. 您可以使用AlarmManager。 (在評論中,最常見)

  6. 您可以使用您的自定義單身人士。

編輯

使用前景和綁定讀這篇文章。

https://stackoverflow.com/a/7041427/1979882

,但我會建議通過存儲acvitiy和服務的情況下,在應用程序類通信。

+0

感謝維亞切斯拉夫的建設性評論。根據活動是否仍然存在,是否可以在綁定服務和前臺服務之間切換? – Czar

+0

@Czar我已經更新了答案 – Vyacheslav

+0

感謝您的幫助Vyacheslav – Czar