2017-06-08 76 views
-1

服務和通知是否使用以下行爲實現後臺應用的正確方法?

1-用戶打開應用程序,進行一些配置並點擊「運行」按鈕;
2-主要活動必須關閉,後臺服務將開始;
3-固定通知將顯示一些按鈕(「停止」以完成服務和「重新配置」);
後臺應用最佳做法

謝謝

+0

什麼樣的工作服務會做?例如,網絡統計信息爲 –

+0

。它應該表現得像一個玩家應用 –

+0

服務 - 這是沒有用戶界面的活動,你對它的工作方式有正確的看法,但你說的關於「停止」按鈕,如果你想展示它,你應該顯示活動 –

回答

0

我這樣做,以短的間隔(1至10秒)不斷取得從遠程TCP服務器的數據,即使在背景也與屏幕關閉的應用程序。

在主要活動onStop我獲得一個部分WakeLock,我用STARTFOREGROUND_ACTION意圖啓動服務,服務調用startForeground並顯示通知。

在活動onResume中釋放WakeLock,服務將以STOPFOREGROUND_ACTION意圖停止並且服務本身調用stopForeground & stopSelf。

如果用戶觸摸通知,則顯示「活動」,但通知中沒有按鈕。

它工作得很好我用連續運行數小時測試它。

+0

好!我能否避免任務管理器完成我的應用程序 –

+0

是的,在我的測試中,系統從未殺死應用程序。 –

+0

謝謝Tonteria24,但是當我在任務管理器中關閉應用程序時,我的通知也正在關閉。有沒有辦法讓任務管理器關閉通知和服務,甚至關閉應用程序? 說實話,我想用用戶的行動來關閉主屏幕,只是保持通知和服務運行。 –