1
我正在發出像用戶選擇的小時和分鐘的任何其他警報一樣激活的警報。當時間設定在0:00時,我發現問題立即激活警報。當時間設置爲0時即時調用警報
我有一個自定義AlarmManager
在我稱之爲排定重複這樣的:
而對於有問題的例子,這些值被傳遞:
Id = 619
Hour = 0
Minute = 0
這是setRepeatingAlarm()
功能:
public void scheduleRepeatingAlarm(Context context, int alarmID, int hour, int minute) {
System.out.println("schedule is running");
Intent intent = new Intent(context, AlarmNotificationReciever.class);
Bundle extras = new Bundle();
extras.putBoolean(KEY_REPEAT, true);
extras.putInt("AlarmId", alarmID);
intent.putExtras(extras);
PendingIntent pIntent = PendingIntent.getBroadcast(context,
alarmID, intent, PendingIntent.FLAG_CANCEL_CURRENT);
Calendar calender = Calendar.getInstance();
calender.set(Calendar.HOUR_OF_DAY, hour);
calender.set(Calendar.MINUTE, minute);
if (android.os.Build.VERSION.SDK_INT >= 19) {
setSingleExactAlarm(calender.getTimeInMillis(), pIntent);
} else {
mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
calender.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pIntent);
}
}
我假設問題是布萊恩克至與這裏這些行:
Calendar calender = Calendar.getInstance();
calender.set(Calendar.HOUR_OF_DAY, hour);
calender.set(Calendar.MINUTE, minute);
,並設置報警時,這條線:
setSingleExactAlarm(calender.getTimeInMillis(), pIntent);
對於以往其他的時針和分針組合似乎工作,並把它作爲一個時間去關閉。但是,對於小時= 0和分= 0,它只是直接射擊。
在此先感謝您的幫助。
的問題是新的一天。如果您將小時設置爲0:00,則系統將在同一天響鈴。你必須在第二天的0點增加一天的時間。它會直接點燃,因爲如果設定的時間過去了,警報將會啓動..... – Opiatefuchs