我正在使用我的Android服務處理程序,每60分鐘(1小時)重複一些操作,使用PartialWakeLock保持手機不睡覺。但是這會導致很多電池使用。AlarmManager和Handler + WakeLock之間的最佳方式是什麼?
因此,一個研究決定有關AlarmManager(我是菜鳥)那someone wrote here是完美的這種東西..
不過現在沿着網狀我發現誰使用AlarmManager讀書,還需要一個喚醒鎖定。這是真的嗎?
在不殺死電池的情況下每60分鐘(1小時)運行一次循環的最佳方式是什麼?
Thanx
P.S.
AlarmManager Android Developer
的報警管理只要持有CPU喚醒鎖作爲警報 接收機的onReceive()方法正在執行。這可保證在處理完廣播之前,手機將不會睡眠。 一旦onReceive()返回,警報管理器將釋放此喚醒鎖。 這意味着只要您的onreceive()方法完成,手機在某些情況下會立即睡眠。如果您的鬧鐘接收器名爲 Context.startService(),則在請求的服務啓動之前,手機可能會睡眠 。爲了防止這種情況發生,您的 BroadcastReceiver和服務將需要實施單獨的喚醒 鎖定策略,以確保電話繼續運行,直到 服務變爲可用。
但是好像我需要2個喚醒鎖只有1個喚醒鎖使用處理程序....是真的嗎?
檢查https://github.com/commonsguy/cwac-wakeful/blob/master/README.markdown以獲取處理其喚醒鎖的服務的標準實現 –