我正在嘗試編寫一個簡單的應用程序,用於在給定時間內將手機靜音。這是我的第一個Android應用程序,但經過幾個小時的閱讀,我認爲它已接近完成。但它仍然存在一個我無法修復的問題。Handler.postDelayed當手機處於待機模式時不會調用
我正在使用活動來顯示GUI。它有按鈕來設置開始和結束時間,以及其他一切需要的東西。當用戶輸入所有參數時,它們被傳遞給服務。該服務使用一個處理程序對象來註冊2個回調函數(Handler.postDelayed)。一個用於開始靜音,另一個用於結束靜音(在SetMuteIntervall中)。 第一次測試似乎有效,但如果我嘗試將其靜音30分鐘,它就不會取消靜音。我認爲這與手機處於或處於待機模式的事實有關。我也嘗試使用Handler.postAt(),但也沒有工作(和時間相對正常運行時間有點混淆)。
因此,無論手機是否處於待機狀態,我應該怎樣做才能保證我的回叫被呼叫?
這裏是我的程序的源: