看板 AndroidDev 關於我們 聯絡資訊
※ 引述《ivanf10710 (Ivan)》之銘言: : 想要做一個功能是每週觸發我設定好的鬧鐘 : 假設我設了一個17:30的鬧鐘 : 然後去抓 系統時間 - 設定當時的時間 這樣就成了當天的鬧鐘 當天鬧鐘~>天~>每天 INTERVAL_DAY http://goo.gl/pH9kP : 但是我想把功能擴充至每周1.3.5(checkbox)都觸發這個17:30的鬧鐘 : 我該怎麼做? : 目前的想法是在選擇禮拜幾觸發時,給一個標籤 : 當我設定好時間時,就去看標籤是要禮拜幾去觸發這個17:30的鬧鐘 : 但是我碰到一個問題解不開 : 假設今天是禮拜三,我設一個17:30的鬧鐘 public void setRepeating (int type, long triggerAtMillis, long intervalMillis, PendingIntent operation) http://goo.gl/E9e6 triggerAtMillis 第一次觸發的時間 time in milliseconds that the alarm should first go off, using the appropriate clock (depending on the alarm type). intervalMillis 重複的時間 interval in milliseconds between subsequent repeats of the alarm. : 然後選擇每個禮拜一都要觸發這個AlarmManager : 接著我用 (系統時間 - 17:30)* 7天這樣就能算出下禮拜三17:30的系統時間 : 然後 - 2天這樣就是禮拜一,這樣就可以用這個時間當觸發時間 onReceive的時候檢查星期幾 Calendar.getInstance().get(Calendar.DAY_OF_WEEK); 禮拜一, 三, 五再做事 : 觸發的同時再將這次觸發的時間* 7天就是兩個禮拜後的禮拜一系統時間 : 但是我無法預期每次設定鬧鐘的時間點以及會選擇每個禮拜幾觸發: 導致我邏輯都亂了 ,有時麼好方法或是演算法嗎? 詳洽:RF:http://goo.gl/MHfqD Alarm Manager - Scheduling multiple Non-repeating events 有錯請指正<(_ _)> ※ 編輯: MiaShopgirl 來自: 123.0.40.194 (07/17 23:25)
ivanf10710:感謝M大的解答,另外還有問題想問您一下 07/18 12:31