Android 之 AlarmManager(定時器) 的介紹和使用

AlarmManager 包含的主要方法:spa

// 取消已經註冊的與參數匹配的定時器 blog

void cancel(PendingIntent operation)
//註冊一個新的延遲定時器
void set(int type, long triggerAtTime, PendingIntent operation)
//註冊一個重複類型的定時器
void setRepeating(int type, long triggerAtTime, long interval, PendingIntent operation)
//註冊一個非精密的重複類型定時器
void setInexactRepeating (int type, long triggerAtTime, long interval, PendingIntent operation)
//設置時區
void setTimeZone(String timeZone)生命週期

定時器主要類型:內存

public static final int ELAPSED_REALTIME get

// 當系統進入睡眠狀態時,這種類型的鬧鈴不會喚醒系統。直到系統下次被喚醒才傳遞它,該鬧鈴所用的時間是相對時間,是從系統啓動後開始計時的,包括睡眠時 間,能夠經過調用SystemClock.elapsedRealtime()得到。系統值是3 (0x00000003)。

public static final int ELAPSED_REALTIME_WAKEUP
//能喚醒系統,用法同ELAPSED_REALTIME,系統值是2 (0x00000002) 。

public static final int RTC
//當系統進入睡眠狀態時,這種類型的鬧鈴不會喚醒系統。直到系統下次被喚醒才傳遞它,該鬧鈴所用的時間是絕對時間,所用時間是UTC時間,能夠經過調用 System.currentTimeMillis()得到。系統值是1 (0x00000001) 。

public static final int RTC_WAKEUP
//能喚醒系統,用法同RTC類型,系統值爲 0 (0x00000000) 。

Public static final int POWER_OFF_WAKEUP
//能喚醒系統,它是一種關機鬧鈴,就是說設備在關機狀態下也能夠喚醒系統,因此咱們把它稱之爲關機鬧鈴。使用方法同RTC類型,系統值爲4(0x00000004)。io

AlarmManager 生命週期:後臺

repeating AlarmManager一旦啓動就會一直在後臺運行(除非執行cancel方法),能夠在「應用管理」中看到這個應用狀態是正在運行。 「強行中止」能夠讓Alarmmanager停掉。sed

嘗試了幾種任務管理器, 都只能重置計數器(確實釋放內存了),但都沒法關閉定時器,只有系統自帶的「強行中止」奏效。file

 

使用實例以下連接:定時器

http://files.cnblogs.com/_ymw/AlarmManager.rar

相關文章
相關標籤/搜索