WifiBoxAlarmManager 定时小结

来源:互联网 发布:杭州淘宝培训机构 编辑:程序博客网 时间:2024/04/28 18:06
Intent intent = new Intent(context, UploadDeviceStatus.class);

 

//(Context context, int requestCode, Intent intent, int flags)  requestCode这个参数随意,尽量不要相同  flags这个参数

PendingIntent sender = PendingIntent.getService(context, (int)(triggerAtTime + duration), intent,   PendingIntent.FLAG_CANCEL_CURRENT); 

AlarmManager am = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); 

//type有四个选项

AlarmManager.RTC,硬件闹钟,不唤醒手机(也可能是其它设备)休眠;当手机休眠时不发射闹钟。

AlarmManager.RTC_WAKEUP,硬件闹钟,当闹钟发躰时唤醒手机休眠;

AlarmManager.ELAPSED_REALTIME,真实时间流逝闹钟,不唤醒手机休眠;当手机休眠时不发射闹钟。

AlarmManager.ELAPSED_REALTIME_WAKEUP,真实时间流逝闹钟,当闹钟发躰时唤醒手机休眠;

//triggerAtMillis根据type参数变化,如果RTC系列 就传需要定时的毫秒数   如果ELAPSED_REALTIME系列就是SystemClock.elapsedRealtime()从开机到现在的毫秒数再加上比如5秒后就加5*1000;

//intervalMillis 如果为0就不重复  大于零就是每隔多久重复一次

am.setRepeating(int type, long triggerAtMillis, long intervalMillis, PendingIntent operation)


注:如果时间过了,比如现在是9.16日,你定时时间为 9.15日,那么就会立刻发送一条广播,不会等到下一个重复时间再播
0 0
原创粉丝点击