2011-02-05 21 views
0

我正在使用報警管理器每小時觸發一次IntentService。但是,最初警報在用戶運行應用程序時被註冊。問題是,當用戶再次打開應用程序時,它會讓管理器創建一個新的服務運行,並且如果當前服務已經運行,則由於數據庫連接而導致彼此之間發生故障並且一切都會中斷!如何不以自己的方式得到我的警報?

另一個問題是警報服務完全停止。爲什麼?我認爲無論發生什麼事,鬧鐘應該每小時都會發生。

回答

0

在一開始檢查現有的數據庫。如果它不存在。建立數據庫並啓動警報。 下一次應用程序啓動時,如果它發現一個數據庫它不會再次啓動警報。
或使用任何保存的值,如我們使用信號量檢查值0或1 ..
報警管理器的其餘功能應該正常工作

+0

數據庫的想法不會發生,因爲數據庫仍然會存在,即使服務停止。開/關變量是一個更好的主意,但你會在哪裏存儲它?優先? – kidalex 2011-02-06 05:35:32