使用Alarmmanager在每天的特定时间启动和停止服务

时间:2012-11-01 12:25:18

标签: java android time alarmmanager

如何在特定时间每天使用Alarm-manager启动和结束功能

例如StartTime:07:00结束时间:15:00

 Calendar cur_cal = new GregorianCalendar();
 cur_cal.setTimeInMillis(System.currentTimeMillis());//set the current time and date for this calendar

 Calendar cal = new GregorianCalendar();
 cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR));
 cal.set(Calendar.HOUR_OF_DAY, 07);
 cal.set(Calendar.MINUTE, 00);
 cal.set(Calendar.SECOND, cur_cal.get(Calendar.SECOND));
 cal.set(Calendar.MILLISECOND, cur_cal.get(Calendar.MILLISECOND));
 cal.set(Calendar.DATE, cur_cal.get(Calendar.DATE));
 cal.set(Calendar.MONTH, cur_cal.get(Calendar.MONTH));
Intent intent = new Intent(this, MyBroadcastReceiver.class);
    pendingIntent = PendingIntent.getBroadcast(
            this.getApplicationContext(), 234324243, intent, 0);
 AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
 alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 30*1000, pendingIntent );

1 个答案:

答案 0 :(得分:0)

设置一个警报从7:00开始,一个用于在15:00停止,使用Intent-Extras指定正确的操作(开始或停止)。

另外,比较Using Alarmmanager to start a service at specific time