AlarmManager.set 三個(gè)參數(shù)詳解
第一個(gè)參數(shù)是一個(gè)整型參數(shù)忽孽,用于指定AlarmManager 的工作類型淌哟,有四種值可選,分別是
ELAPSED_REALTIME刻剥、ELAPSED_REALTIME_WAKEUP、RTC 和RTC_WAKEUP厉斟。
其中:
ELAPSED_REALTIME 表示讓定時(shí)任務(wù)的觸發(fā)時(shí)間從系統(tǒng)開(kāi)機(jī)開(kāi)始算起兼犯,但不會(huì)喚醒CPU。
ELAPSED_REALTIME_WAKEUP 同樣表示讓定時(shí)任務(wù)的觸發(fā)時(shí)間從系統(tǒng)開(kāi)機(jī)開(kāi)始算起锤岸,但會(huì)喚醒CPU竖幔。
RTC 表示讓定時(shí)任務(wù)的觸發(fā)時(shí)間從1970 年1月1 日0 點(diǎn)開(kāi)始算起,但不會(huì)喚醒CPU是偷。
RTC_WAKEUP 同樣表示讓定時(shí)任務(wù)的觸發(fā)時(shí)間從1970 年1 月1 日0 點(diǎn)開(kāi)始算起拳氢,但會(huì)喚醒CPU。
使用SystemClock.elapsedRealtime()方法可以獲取到系統(tǒng)開(kāi)機(jī)至今所經(jīng)歷時(shí)間的毫秒數(shù)
使用System.currentTimeMillis()方法可以獲取到1970 年1 月1 日0 點(diǎn)至今所經(jīng)歷時(shí)間的毫秒數(shù)蛋铆。
然后看一下第二個(gè)參數(shù)馋评,這個(gè)參數(shù)就好理解多了,就是定時(shí)任務(wù)觸發(fā)的時(shí)間刺啦,以毫秒為單位留特。
如果第一個(gè)參數(shù)使用的是ELAPSED_REALTIME 或ELAPSED_REALTIME_WAKEUP,
則這里傳入開(kāi)機(jī)至今的時(shí)間再加上延遲執(zhí)行的時(shí)間。
如果第一個(gè)參數(shù)使用的是RTC 或RTC_WAKEUP蜕青,
則這里傳入1970 年1 月1 日0 點(diǎn)至今的時(shí)間再加上延遲執(zhí)行的時(shí)間苟蹈。
第三個(gè)參數(shù)是一個(gè)PendingIntent,就不詳細(xì)解釋了右核。