亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android開發之AlarmManager的用法詳解

2020-04-11 11:47:15
字體:
來源:轉載
供稿:網友

Android中的AlarmManager實質上是一個全局的定時器,是Android中常用的一種系統級別的提示服務,在指定時間或周期性啟動其它組件(包括Activity,Service,BroadcastReceiver)。

一、概述:

該類提供一種訪問系統鬧鐘服務的方式,允許你去設置在將來的某個時間點去執行你的應用程序。當你的鬧鐘響起(時間到)時,在它上面注冊的一個意圖(Intent)將會被系統以廣播發出,然后自動啟動目標程序,如果它沒有正在運行。注冊的鬧鐘會被保留即使設備處于休眠中(如果鬧鐘在給定時間響起可以選擇是否喚醒設備)。如果鬧鐘關閉或者重啟,鬧鐘將被清除。

只要廣播的onReceive()方法正在執行,這鬧鐘管理者(AlarmManager)會持有一個CPU喚醒鎖,這是為了保證手機不會休眠直到處理完該廣播,一旦onReceive()返回,那么鬧鐘管理者將會釋放喚醒鎖。這意味著只要OnReceive()方法完成,你的手機可能在某些情況下進入休眠,如果你的鬧鐘廣播接收者調用的是Context.startService(),那么手機有可能在被請求的服務執行之前進入休眠,為了防止這種情況,你的BroadcastReceiver和服務需要實現一個單獨的喚醒鎖策略以確保手機繼續運行,直到服務可用。

此處注意:該類適用于你想讓應用程序在將來某個指定時間點執行的情況,即使你的應用程序現在沒有運行。對一般的時間操作,使用Handler是更容易和更有效率的。

二、公有方法(Public Methods):

void cancel(PendingIntent operation)

取消AlarmManager的定時服務。

void set(int type, long triggerAtTime, PendingIntent operation)

設置在triggerAtTime時間啟動由operation參數指定的組件。(該方法用于設置一次性鬧鐘)

void setInexactRepeating(int type, long triggerAtTime, long interval, PendingIntent operation)

設置一個非精確的周期性任務。

void setRepeating(int type, long triggerAtTime, long interval, PendingIntent operation)

設置一個周期性執行的定時服務。

void setTime(long millis)

設置系統“墻”時鐘。需要android.permission.SET_TIME.權限。

void setTimeZone(String timeZone)

設置系統的默認時區。需要android.permission.SET_TIME_ZONE.權限。

三、常用方法說明:
AlarmManager的常用方法有三個:

(1)

set(int type,long startTime,PendingIntent pi)

該方法用于設置一次性鬧鐘。
第一個參數int type指定定時服務的類型,該參數接受如下值:

ELAPSED_REALTIME: 在指定的延時過后,發送廣播,但不喚醒設備(鬧鐘在睡眠狀態下不可用)。如果在系統休眠時鬧鐘觸發,它將不會被傳遞,直到下一次設備喚醒。

ELAPSED_REALTIME_WAKEUP: 在指定的延時過后,發送廣播,并喚醒設備(即使關機也會執行operation所對應的組件) 。
延時是要把系統啟動的時間SystemClock.elapsedRealtime()算進去的,具體用法看代碼。

RTC: 指定當系統調用System.currentTimeMillis()方法返回的值與triggerAtTime相等時啟動operation所對應的設備(在指定的時刻,發送廣播,但不喚醒設備)。如果在系統休眠時鬧鐘觸發,它將不會被傳遞,直到下一次設備喚醒(鬧鐘在睡眠狀態下不可用)。

RTC_WAKEUP: 指定當系統調用System.currentTimeMillis()方法返回的值與triggerAtTime相等時啟動operation所對應的設備(在指定的時刻,發送廣播,并喚醒設備)。即使系統關機也會執行 operation所對應的組件。

第二個參數表示鬧鐘執行時間。

第三個參數PendingIntent pi表示鬧鐘響應動作:

PendingIntent pi:是鬧鐘的執行動作,比如發送一個廣播、給出提示等等。PendingIntent是Intent的封裝類。需要注意的是,如果是通過啟動服務來實現鬧鐘提示的話,PendingIntent對象的獲取就應該采用Pending.getService(Context c,int i,Intentintent,int j)方法;如果是通過廣播來實現鬧鐘提示的話,PendingIntent對象的獲取就應該采用PendingIntent.getBroadcast(Context c,inti,Intent intent,int j)方法;如果是采用Activity的方式來實現鬧鐘提示的話,PendingIntent對象的獲取就應該采用PendingIntent.getActivity(Context c,inti,Intent intent,int j)方法。如果這三種方法錯用了的話,雖然不會報錯,但是看不到鬧鐘提示效果。

(2)

setRepeating(int type,long startTime,long intervalTime,PendingIntent pi)

設置一個周期性執行的定時服務。第一個參數表示鬧鐘類型,第二個參數表示鬧鐘首次執行時間,第三個參數表示鬧鐘兩次執行的間隔時間,第三個參數表示鬧鐘響應動作。

(3)

setInexactRepeating(int type,long startTime,long intervalTime,PendingIntent pi)

該方法也用于設置重復鬧鐘,與第二個方法相似,不過其兩個鬧鐘執行的間隔時間不是固定的而已。它相對而言更省電(power-efficient)一些,因為系統可能會將幾個差不多的鬧鐘合并為一個來執行,減少設備的喚醒次數。第三個參數intervalTime為鬧鐘間隔,內置的幾個變量如下:

INTERVAL_DAY:      設置鬧鐘,間隔一天
INTERVAL_HALF_DAY:  設置鬧鐘,間隔半天
INTERVAL_FIFTEEN_MINUTES:設置鬧鐘,間隔15分鐘
INTERVAL_HALF_HOUR:     設置鬧鐘,間隔半個小時
INTERVAL_HOUR:  設置鬧鐘,間隔一個小時

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产成人精品一区二区| 亚洲人成网站777色婷婷| 26uuu国产精品视频| 伊人成人开心激情综合网| 亚洲欧美视频在线| 日韩精品中文字幕在线| 日韩美女激情视频| 色婷婷av一区二区三区久久| 亚洲香蕉成人av网站在线观看| 2020久久国产精品| 97在线观看免费高清| 国产精品99久久久久久人| 久久影视电视剧免费网站| 欧美激情性做爰免费视频| 日本一本a高清免费不卡| 综合国产在线视频| 国产精品av免费在线观看| 亚洲人a成www在线影院| 日韩国产高清污视频在线观看| 国产精品永久免费视频| 中文字幕亚洲欧美一区二区三区| 一区二区三区动漫| 亚洲精品免费av| 日韩av网站大全| 奇米一区二区三区四区久久| 亚洲人成欧美中文字幕| 国产成人jvid在线播放| 亚洲第一福利在线观看| 欧美在线不卡区| 久久91精品国产91久久久| www.美女亚洲精品| 在线观看精品自拍私拍| 96精品久久久久中文字幕| 国产日韩欧美视频| 91中文字幕在线| 欧美一级高清免费播放| 亚洲色图50p| 日韩成人久久久| 日韩av网站在线| 日韩专区中文字幕| 国内精品视频一区| 97婷婷大伊香蕉精品视频| 精品高清美女精品国产区| 欧美视频免费在线| 伦伦影院午夜日韩欧美限制| 亚洲国产精品免费| 亚洲国产天堂网精品网站| 成人免费淫片aa视频免费| 精品视频偷偷看在线观看| 国产精品免费观看在线| 久久久在线观看| 免费不卡欧美自拍视频| 91精品免费久久久久久久久| 精品日韩中文字幕| 国产精品极品美女粉嫩高清在线| 日韩欧美国产成人| 日本精品久久中文字幕佐佐木| 亚洲网站视频福利| 日韩欧美第一页| 久久精品2019中文字幕| 91精品在线播放| 全亚洲最色的网站在线观看| 亚洲精品成a人在线观看| 国产精品一区二区在线| 日韩美女免费观看| 国产美女精品免费电影| 久久精品久久久久| 精品亚洲aⅴ在线观看| 成人美女av在线直播| 欧美自拍视频在线| 91亚洲精品一区二区| 麻豆一区二区在线观看| 欧美影院成年免费版| 亚洲xxx视频| 国产精品尤物福利片在线观看| 日韩中文字幕免费视频| 久久久免费观看| 国外色69视频在线观看| 色综合天天狠天天透天天伊人| 九色成人免费视频| 最近2019中文字幕大全第二页| 亚洲成人激情在线| 亚洲亚裔videos黑人hd| 91在线免费看网站| 亚洲精品成人久久久| 国产一区二区三区18| 国产欧美久久一区二区| 欧美夫妻性视频| 在线观看欧美视频| 国内精品在线一区| 一区二区亚洲欧洲国产日韩| 久久久久久久97| 亚洲性生活视频在线观看| 国产精品影院在线观看| 国产精品第一视频| 欧美在线亚洲一区| 日本精品在线视频| 亚洲欧美中文日韩v在线观看| 亚洲xxxxx电影| 日韩中文字幕国产| 久久精品91久久香蕉加勒比| 日韩亚洲国产中文字幕| 日本电影亚洲天堂| 欧美专区在线观看| 欧美激情一区二区久久久| 国产福利视频一区二区| 日韩精品在线观| 欧美极品少妇xxxxⅹ喷水| www.久久久久久.com| 91亚洲精品久久久久久久久久久久| 久久人人爽人人| 亚洲日本欧美中文幕| 亚洲欧洲一区二区三区在线观看| 成人性教育视频在线观看| 国产精品va在线播放我和闺蜜| 日本aⅴ大伊香蕉精品视频| 久久久久久18| 国产成人精品一区| 日韩欧美成人免费视频| 亚洲精品电影久久久| 亚洲精品日韩在线| 77777少妇光屁股久久一区| 精品福利免费观看| 欧美极品在线播放| 国产精品白丝jk喷水视频一区| 欧美午夜精品久久久久久人妖| 精品爽片免费看久久| 亚洲国产91精品在线观看| 91大神福利视频在线| 深夜精品寂寞黄网站在线观看| 亚洲a在线观看| 尤物99国产成人精品视频| 国产精品自拍视频| 亚洲成人999| 日韩在线观看免费全集电视剧网站| 好吊成人免视频| 欧美xxxx综合视频| 中文字幕一精品亚洲无线一区| 国产精品高潮呻吟久久av野狼| 2020久久国产精品| 成人久久一区二区三区| 日本成人激情视频| 亚洲欧美变态国产另类| 在线观看欧美日韩| 91九色国产社区在线观看| 久久国产加勒比精品无码| 在线免费观看羞羞视频一区二区| 国产精品久久久久久久av大片| 日韩在线播放一区| 懂色av中文一区二区三区天美| 欧美重口另类videos人妖| 亚洲国产99精品国自产| 欧美在线免费视频| 91日本在线视频| 国产精品久久一区主播| 97久久伊人激情网| 91极品女神在线| 这里只有精品在线观看| 久久久亚洲国产天美传媒修理工| 亚洲免费成人av电影| 久久国产精品久久久久| 久久久久久久久久国产| 亚洲欧美综合精品久久成人| 97久久精品人人澡人人爽缅北|