Alarm和Timer不同的是Alarm是在应用程序之外操作的。即使应用程序关闭,它们也仍然能够用来激活应用程序事件或操作。
public void createAlarm(){ //获取一个Alarm Manager的引用 AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); //如果设备处于休眠状态,设置Alarm来唤醒设备 int alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP; //10秒钟后触发设备 long time = 10000; //创建能够广播和操作的Pending intent String ALARM_ACTION = "ALARM_ACTION"; Intent intentfoFire = new Intent(ALARM_ACTION); PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intentfoFire, 0); //设置Alarm alarmManager.set(alarmType, time, alarmIntent); }
如何取消?
//取消 alarmManager.cancel(alarmIntent);
如何设置重复?
可以使用Alarm Managerd 的setRepeting或setInexactRepeating方法。