2011-11-01 54 views
2

我正在設計一個android應用程序,需要在活動狀態下每分鐘播放一次聲音。如何讓Android操作系統知道我的應用程序有什麼東西要做,當它是背景?

我有一種邏輯,它使用可運行和處理程序在活動狀態下每分鐘播放聲音。如果您按下開始或停止按鈕,該應用可以正常工作。

如果你運行該應用程序,並擊中停止它殺死該應用程序。如果你運行應用程序打回家的聲音繼續播放,當你重新啓動計時器將是最新的。這是預料之中的。

我遇到的問題是,如果你打回家,然後啓動其他應用程序,有一個高的機會我的應用程序就會被殺死和聲音將不再播放(因此GUI將被重置,當你重新啓動)

我的問題是,我應該使用什麼方法,以便我的應用程序將繼續播放聲音,直到我告訴它停止,即使它不在前臺?聲音可以被認爲是提醒用戶。

我曾嘗試使用谷歌機器來幫助我,但我沒有運氣。

回答

1

如果你運行應用程序打回家的聲音繼續播放,當你重新啓動計時器將是最新的。這是預料之中的。

除了它不會持續。

我遇到的問題是,如果你打回家,然後啓動其他應用程序,有一個高的機會我的應用程序就會被殺死和聲音將不再播放(因此GUI將是,當你重新啓動復位)

正確。

我應該使用什麼方法,以便我的應用程序將繼續播放聲音,直到我告訴它停止,即使它不在前臺?

A service。在一分鐘的時間內,您處於我認爲應該使用AlarmManagerIntentService以及您現有的Handler方法可以使用的地方。

您應該使用startForeground()的服務,既能保持Android的距離將其關閉,並給用戶一個非常簡單的方法,回到活動關閉的東西了(通過Notification您通過startForeground()建立) 。

+0

偉大的我正在尋找服務。我很困惑,因爲服務應該做什麼。我應該只是使用服務來保持應用程序的活着,還是應該服務本身處理聲音?另外,你的意思是服務應該有一分鐘的時間? –

+0

@JoshK:我會讓服務完成聲音。一分鐘的時間是爲了服務做聲音。 – CommonsWare

+0

我無法找到有關服務期的任何文檔。謝謝你的提示! –

相關問題