Je ne sais pas si le titre est clair ou non, mon problème avec le gestionnaire de notification est que lorsque je définis les heures comme (1:00, 2:00, 3:00, 4:00) et le temps est maintenant 2h30, la notification normale attendra jusqu'à 3h00 puis 4h00, mais dans mon code le gestionnaire de notification me donne deux alertes pour 1h00 et 2h00 parce que les sont dans le passé, puis attendre jusqu'à 3h00 et notifier alors 4h00 et notifier, donc mon problème est avec le temps passé je ne veux pas recevoir de notification pour eux.Comment faire pour que le gestionnaire de notification n'obtienne pas les heures passées?
mon code principal class.java, alertTimes est un tableau qui ont les temps en milliseconde
for (int i = 0; i < alertTimes.length; i++) {
inte = new Intent(this, AlertMedicine.class);
inte.putExtra("id", i);
inte.putExtra("name", NameOftimes[i]);
alarmManager.set(AlarmManager.RTC_WAKEUP, alertTimes[i], PendingIntent.getBroadcast(this, 1, inte, PendingIntent.FLAG_UPDATE_CURRENT));
}
AlertReceiver.java
createNotification(context, "OK", "OK", "OK" + j, 1, 0);
J'essaie aussi AlertReceiver.java de le faire, mais cela aussi ne fonctionne pas
if(calendar.get(Calendar.HOUR_OF_DAY)< Integer.parseInt(arr[id].substring(0, 2))) {
createNotification(context, "OK", "OK", "OK" + j, 1, 0);
}
else
if(calendar.get(Calendar.HOUR_OF_DAY)== Integer.parseInt(arr[id].substring(0, 2))){
int min=Integer.parseInt(arr[id].substring(3, 5))+2;
if(calendar.get(Calendar.MINUTE) <= min){
createNotification(context, "OK", "OK", "OK" + j, 1, 0);
Pour coups de pied, ce qui se passe lorsque vous passez l'évaluation de l'heure actuelle HOUR_OF_DAY au moment où vous vérifiez à plus de? –
il ne me donne pas la prochaine notification suivante, comme dans mon exemple (1:00, 2:00, 3:00, 4:00) et l'heure est 2:30, il ne me donnera pas 3:00 notifier, il faudra attendre 4:00 –