闹钟

设置闹钟

移除闹钟

注意

  • 当设备关机和重启后,闹钟将会被清除,所以监听开机事件,对闹钟重注册
  • setRepeating(int type, long triggerAtMillis, long intervalMillis, PendingIntent operation)方法将会设置一个重复性的闹钟。比set方法多了一个间隔参数。

type参数

  • ELAPSED_REALTIME 当系统进入睡眠状态时,这种类型的闹铃不会唤醒系统。直到系统下次被唤醒才传递它,该闹铃所用的时间是相对时间,是从系统启动后开始计时的,包括睡眠时间,可以通过调用SystemClock.elapsedRealtime()获得。系统值是3 (0x00000003)。
  • ELAPSEDREALTIMEWAKEUP 能唤醒系统,用法同ELAPSED_REALTIME,系统值是2 (0x00000002) 。
  • RTC 当系统进入睡眠状态时,这种类型的闹铃不会唤醒系统。直到系统下次被唤醒才传递它,该闹铃所用的时间是绝对时间,所用时间是UTC时间,可以通过调用System.currentTimeMillis()获得。系统值是1 (0x00000001) 。
  • RTC_WAKEUP 能唤醒系统,用法同RTC类型,系统值为 0 (0x00000000) 。

前两者使用相对时间,时间从系统启动开始算起,SystemClock.elapsedRealtime()可以获得当前的相对时间,单位为毫秒,
例如:alarmManager.set(AlarmManager.ELAPSEDREALTIMEWAKEUP, SystemClock.elapsedRealtime()+5000, sender); 后两者使用绝对时间,时间以1970.1.1号为参考时间,System.currentTimeMillis()获取从1970.1.1号以来的时间,单位为毫秒;
例如:alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+5000, sender);

0 Comments
Leave a Reply