手机闹钟服务 AlarmManager

来源:互联网 发布:志鸿优化系列丛书小学 编辑:程序博客网 时间:2024/05/01 18:50

AlarmManager通常用于开发手机闹钟,但实际上它的作用不止于此。他本质是一个全局定时器,AlarmManager可以在指定时间或指定周期内启动其他组件(包含Activity,BroadcastReceviecer,Service)。


通过Context的getSystemService()方法来获取AlarmManager对象,一旦程序获得AlarmManager对象之后,就可以调用方法来设置定时启动指定组件。


1、void set(int type,long triggerAtTime,PendingIntent operation),第一个参数指定定时服务的类型,该参数可接受如下值:

ELAPSED_REALTIME:指定从现在开始过了一定时间后启动operation所对应的组件。

ELAPSED_REALTIME_WAKEUP:指定从现在开始一定时间后启动operation指定的组件,即使系统关机也会执行operation所对应的组件。

RTC:指定当系统调用System.currentTimeMillis()方法返回值与triggerAtTime相等时启动operation所对应的组件。

RTC_WAKEUP:当系统调用System.currentTimeMillis()方法返回值与triggerAtTime相等时启动operation所对应的组件,即使系统关机也会执行operation对应的组件。


2、void setInexactRepeating(int type,long triggerAtTime,long interval,PendingIntent operation):设置一个非精确的周期性任务,例如设置Alarm每小时启动一次,但系统并一定总在每个小时的开始启动Alarm服务。


3、void setRepeating(int type,long triggerAtTime,long interval,PendingIntent operation);设置一个周期性执行的定时服务。


4、void cancle(PendingIntent operation);取消AlarmManager的定时服务。


AlarmManager应用:

设置闹钟

定时更换壁纸


疯狂Android P408



原创粉丝点击