定时任务有执行一次和重复执行两种
public class AlarmBroadcast extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, R.string.show_message, Toast.LENGTH_SHORT).show();
}
}
/**
* 执行一次
*/
public void oneShotAlarm() {
Intent intent = new Intent(this, AlarmBroadcast.class);
PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), sender);
}
/**
* 重复执行
*/
public void repeatingAlarm() {
Intent intent = new Intent(this, AlarmBroadcast.class);
PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
long firstTime = SystemClock.elapsedRealtime();
long interval = AlarmManager.INTERVAL_HOUR;
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, interval, sender);
}