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方法。