2012-04-07 23 views
0

我在問之前做了一個搜索,所以請不要告訴我這麼做。 我對Android比較陌生,所以很容易混淆。如何在服務中輪詢當前時間?

我正在製作一個簡單的應用程序,根據時間更改鈴聲音量。爲此,我知道我需要一種服務,可以在bg中運行並監視時間。但是,我真的不知道如何解決這個問題。我有專業的Android應用程序開發書,但沒有找到任何有幫助的地方。

我的問題:

  • 如何不斷地檢查時間不如果需要我的代碼(如我的證明實際上正在研究這個)破壞電池

,我會發布。

回答

1

您不需要服務。使用AlarmManager類。它就像一個鬧鐘,它正是你需要這種類型的應用程序。

+0

什麼,所以你認爲應用程序將不斷運行? :s 我不希望應用程序不斷運行。用戶創建一個指定時間和鈴聲級別的配置文件(保存在共享首選項中),然後該服務可以完成它的工作。 – Asim 2012-04-07 11:03:02

+0

您設置鬧鐘管理器以定期喚醒您的任務。您的任務僅在警報「彈出」時運行。設置一分鐘左右喚醒任務的時間間隔。你的任務只需要幾毫秒,不會循環。不要忘記完成後關閉警報的邏輯。此外,請檢查在關閉電源或重新啓動後重置警報的邏輯。 – 2012-04-07 14:51:40

+0

該任務不需要每分鐘都會喚醒。它已經知道什麼時候需要履行職責,所以只需要在那個時候醒來。 – Kuffs 2012-04-07 14:55:09

1

需要的是保持在BG運行的服務和監控時間

號其實這不是如何做到這一點。 android上的服務與正常的windows service/unix守護進程不同。他們應該完成他們的工作,然後停下來,直到他們重新開始 - 節省電池。

您應該在某個時間點通過使用AlarmManager開始您的服務,它會發送啓動意向來運行該服務。當服務完成它應該做的事情(在這裏改變圓環體積),使用Service.stopSelf()殺死它。