régler l'heure dans le gestionnaire d'alarme Android - alarme déclenché instantanément [double]
-
25-09-2019 - |
Question
Possible en double: Pourquoi mon gestionnaire d'alarme android instantanément des tirs?
J'ai ce code qui appellera notification d'alarme
public static Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.add(Calendar.HOUR_OF_DAY,hour);
cal.add(Calendar.MINUTE, min);
Intent intent = new Intent(this, OnetimeAlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, REQUEST_CODE, intent,0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis() , pendingIntent);
Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show();
mais l'alarme se déclenche instantanément, il dosent attendre après l'heure donnée et minutes? dois-je ajouter quelque chose à le fichier manifeste?
La solution
Vous utilisez l'heure actuelle pour régler l'alarme. Donc, il se déclenche instantanément.
Vérifier l'API. http: / /developer.android.com/reference/android/app/AlarmManager.html#set%28int,%20long,%20android.app.PendingIntent%29
Il vous passez le moment où l'alarme se comme le second paramètre. Dans votre cas, c'est le temps réel. Vous devez donc ajouter la quantité de temps que vous voulez attendre le moment de votre passage dans la méthode en ce moment.