【发布时间】:2018-04-10 09:51:49
【问题描述】:
我目前正在开发一个带有提醒服务的安卓应用。我正在使用警报管理器。我已经成功地将警报设置为在用户单击按钮时运行。但我希望它从开始日运行到结束日。但现在,它似乎永远运行。
我已经有了这个:
private void setAlarm(String startDate,String endDate, String startTime, Context ctx, long id, int frequency){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, Utility.getYear(startDate));
calendar.set(Calendar.MONTH, Utility.getMonth(startDate));
calendar.set(Calendar.DAY_OF_MONTH, Utility.getDay(startDate));
calendar.set(Calendar.HOUR_OF_DAY, Utility.getHour(startTime));
calendar.set(Calendar.MINUTE, Utility.getMinute(startTime));
Intent intent = new Intent(ctx,AlarmReceiver.class);
intent.putExtra("ID", (int)id);
intent.setAction(""+System.currentTimeMillis());
PendingIntent mPendingIntent = PendingIntent.getBroadcast(ctx, (int) id, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarmManager = (AlarmManager)ctx.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), (AlarmManager.INTERVAL_DAY / frequency), mPendingIntent);
}
闹钟有效。我只需要将它设置为能够在达到 endDate 时停止。 谢谢。
【问题讨论】:
标签: java android alarmmanager repeatingalarm