Android定时器Alarm
2017-02-11 15:26
190 查看
要想使用Android中的定时任务,首先必须先获取AlarmManager的对象,然后调用AlarmManager的set(int type,long triggerAtMillis,PendingIntent operation)或者setExact(int type,long triggerAtMillis,PendingIntent operation)设置定时任务,第二种方法定时更准确些。
1、获取AlarmManager对象,使用Context的getSystemService()方法,参数是Context.ALARM_SERVICE。
2、设置定时任务,两种方法的参数都一样。这里对它们一一解释
int type : 定时任务的类型。可取的值有AlarmManager.ELAPSED_REALTIME(定时任务的触发时间从系统开机开始算起,不会唤醒CPU)、AlarmManager.ELAPSED_REALTIME__WAKEUP(定时任务的触发时间从系统开机开始算起,会唤醒CPU)、RTC(定时任务的 触发时间从1970年1月1日0时开始算起,不会唤醒CPU)、RTC_WAKEUP(定时任务的
触发时间从1970年1月1日0时开始算起,会唤醒CPU)。
long triggerAtMillis:定时定的时刻,获取系统开机时刻到当前时刻SystemClick.elapsedRealtime();获取1970年1月1日0时到当前时刻SystemClick.currentThreadTimeMills();获取到当前时刻再加上要定的时长即可做为参数传入方法中。
PendingIntent operation:定时到了后的操作意图,详见这篇文章。
1、获取AlarmManager对象,使用Context的getSystemService()方法,参数是Context.ALARM_SERVICE。
2、设置定时任务,两种方法的参数都一样。这里对它们一一解释
int type : 定时任务的类型。可取的值有AlarmManager.ELAPSED_REALTIME(定时任务的触发时间从系统开机开始算起,不会唤醒CPU)、AlarmManager.ELAPSED_REALTIME__WAKEUP(定时任务的触发时间从系统开机开始算起,会唤醒CPU)、RTC(定时任务的 触发时间从1970年1月1日0时开始算起,不会唤醒CPU)、RTC_WAKEUP(定时任务的
触发时间从1970年1月1日0时开始算起,会唤醒CPU)。
long triggerAtMillis:定时定的时刻,获取系统开机时刻到当前时刻SystemClick.elapsedRealtime();获取1970年1月1日0时到当前时刻SystemClick.currentThreadTimeMills();获取到当前时刻再加上要定的时长即可做为参数传入方法中。
PendingIntent operation:定时到了后的操作意图,详见这篇文章。
相关文章推荐
- 0101-APP-Alarm -controller
- alarm()函数
- Edit the AlarmClock in AOSP with android-studio
- Android Alarm自上而下 调试浅析
- 信号的发送和捕捉函数(alarm、kill、raise、pause、 sleep、abort)
- APUE——信号发送函数kill,raise,pause,alarm
- 虚拟化--049 The Host IPMI System Event Log Status alarm 解决ESX主机报IPMI SEL错误
- Android定时器
- android轮询最佳实践service+AlarmManager+Thread
- Android中对闹钟Alarm的事件处理
- RX8025 RTC闹钟唤醒Alarm_D的初始化
- APUE笔记:alarm和pause竞争
- alarm() (闹钟函数)
- Android之AlarmManagerService源码分析
- alarm和pause函数
- Linux signal、alarm和pause函数
- 定时任务——Android之Alarm机制讲解
- Ceilometer Alarm
- Android API19 设置Alarm闹钟
- 玲珑学院 1010 - Alarm