2012-10-22 74 views
0

我有3個活動:Act_1, Act_2 and Act_3service:RefreshService關於服務在後臺執行刷新操作

我想要當用戶點擊主頁按鈕時,RefreshService停止刷新操作。

現在,我重寫了Act_1.onStop()方法來停止刷新,但是當Act_1開始到Act_2時,刷新也停止,這不是我想要的。

而我重寫Act_1.onKeyDown()方法,它也不好。

你有沒有什麼好的設計

回答

0

所以讓我理解你的要求。 我想你應該在你的應用程序進入後臺時停止服務,無論它是從活動A或B還是C進入後臺。

因此,你可以按照這種方法。

Activity-A onPause() - >啓動計時器任務以停止服務,例如, 15秒。 從這裏開始,您的申請可以轉到主屏幕或活動B.

Activity-B onResume() - >取消定時器任務和服務將繼續運行。

主屏幕 您的計時器任務將觸發並停止服務。

+0

謝謝你的回答。你明白非常正確,但它不雅。我想創建一個AbstractActivity ...不知道如何 – zkwlx

+0

如果你寫一個抽象活動和所有你的活動像A,B,C擴展了那個抽象活動,但你必須區分應用程序在活動之間移動還是移動到後臺。您可以考慮其他解決方案而不是計時器任務。 –