`

定时任务

阅读更多

定时任务有执行一次和重复执行两种

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);
}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics