Alarm(警告、警报 “可以读成-(e老母)”),别问我为什么这么读,英语差我任性!
AlarmManager这个类提供对系统闹钟服务的访问接口。你可以为你的应用设定一个未来某个时间唤醒的功能。
当闹钟响起,实际上是系统发出了为这个闹钟注册的广播。会自动开启目标。
AlarmManager解析
1、AlarmManger不仅可用于开发闹钟应用,还可以作为一个全局定时器使用,Android应用的程序中也是通过Context的getSystemSerVice()方法来获取AlarmManger对象。
AlarmManager aManager = (AlarmManager)getSystemService(ALARM_SERVICE);
2、一旦程序获取了AlarmManger对象之后,就可以调用它的如下方法来设置定时启动制定组件。
void set(int type,long triggerAtTime,Pendinglntent operation):设置在triggerAtTime时间启动由operation参数指定的组件。其中第一个参数指定定时服务的类型,该参数可接受如下值;
--》ELAPSED_REALTLME :指定从现在开始时间过了一定时间后启动operation所对应的组件。
--》ELAPAED_REALTIME_WAKEUP :指定从现在开始过了一定时间后启动operation所对应的组件。即使系统关机也会执行operation所对应的组件。
--》RTC :指定当系统调用System.currentTimeMillis()方法返回值与triggerAtTiME相等时启动operation所对应的组件。
--》RTC_WAKEUP :指定当系统调用System.currentTimeMillis()方法返回值与triggerAtTiME相等时启动operation所对应的组件。计时系统关机也会执行operation所对应的组件。
void setInexactRepeating(int type,long triggerAtTime,long interval,PendingIntent operation):设置一个周期性执行的定时任务。
void cancel(PendingIntent operation):取消AlarmManager的定时任务。
需要说明的是,从Android4.4(API19)开始,AlarmManager的机制是非准确的,不过AlarmManager新增了两个新的方法
setExact(int type,long triggerAtMiLLis,PendingIntent Operation):设置闹钟将在精确的时间内激发
setCindow(int type,long windowStartMillis,Long WindowLgengthMillis,PendingIntent operation):设置时间将在精确的时间段来激发。
下面看一个小例子:下载地址点击打开链接
http://download.youkuaiyun.com/download/bobo8945510/9612992