0
我在早上8點使用下面的代碼開始報警,每1分鐘重複一次。我想在下午12點停止這個警報。我開始報警這樣的:如何在特定時間停止重複報警
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
PendingIntent loggerIntent1 = PendingIntent.getBroadcast(this, 0,new Intent(this,AlarmReceiver.class), 0);
Calendar timeOff9 = Calendar.getInstance();
timeOff9.set(Calendar.HOUR_OF_DAY, 08);
timeOff9.set(Calendar.MINUTE, 00);
timeOff9.set(Calendar.SECOND, 00);
long duration = interval * 60 * 1000;
manager.setRepeating(AlarmManager.RTC_WAKEUP,timeOff9.getTimeInMillis(), duration, loggerIntent1);
,並使用此代碼停止:
Calendar timeOff = Calendar.getInstance();
timeOff.set(Calendar.HOUR_OF_DAY,12);
timeOff.set(Calendar.MINUTE,00);
timeOff.set(Calendar.SECOND, 00);
manager.set(AlarmManager.RTC_WAKEUP,timeOff.getTimeInMillis(), loggerIntent1);
manager.cancel(loggerIntent1);
loggerIntent1.cancel();
但停止原因的應用程序代碼的工作方式不對。 我正在編寫代碼,在第一次報警後立即停止報警。這是問題嗎? 我是否需要寫另一個警報。請指導。
那麼你可能需要另一個報警結束它參考http://stackoverflow.com/questions/23829176/cancel-repeating-alarm-at-specific-time – 2017-01-03 07:25:03