8
我必須在特定時間的通知,請參閱我的代碼:通知在特定時間
//Create alarm manager
AlarmManager alarmMgr0 = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
//Create pending intent & register it to your alarm notifier class
Intent intent0 = new Intent(this, AlarmReceiver_maandag_1e.class);
intent0.putExtra("uur", "1e");
PendingIntent pendingIntent0 = PendingIntent.getBroadcast(this, 0, intent0, 0);
//set timer you want alarm to work (here I have set it to 8.30)
Calendar timeOff9 = Calendar.getInstance();
timeOff9.set(Calendar.HOUR_OF_DAY, 8);
timeOff9.set(Calendar.MINUTE, 30);
timeOff9.set(Calendar.SECOND, 0);
//set that timer as a RTC Wakeup to alarm manager object
alarmMgr0.set(AlarmManager.RTC_WAKEUP, timeOff9.getTimeInMillis(), pendingIntent0);
這完美的作品,除了一兩件事。
通知設置爲8:30與報警經理 如果我8:30,9:00例如後啓動應用程序,通知仍然顯示..
有沒有一種可能性,即報警8點30分起飛,但不晚點?
編輯
對於有同樣的問題的人,這裏是解決方案:
將這個在您的廣播接收器:
long current_time = System.currentTimeMillis();
Calendar timeOff9 = Calendar.getInstance();
timeOff9.set(Calendar.HOUR_OF_DAY, 8);
timeOff9.set(Calendar.MINUTE, 35);
timeOff9.set(Calendar.SECOND, 0);
long limit_time = timeOff9.getTimeInMillis();
if (current_time > limit_time) {
//nothing
} else {
//show notification
}
檢查廣播接收機類中的當前時間和鬧鐘時間。我可以決定通知應該在哪裏顯示。 –
你知道我可以比較當前時間到8:30嗎?因爲我猜你的意思是:if(當前時間== 8:30)@Ilango – GromDroid
通過System.currentTimeMillis()知道你的鬧鐘時間和當前時間,並且用這個時間檢查。 –