die Zeit, in Alarm-Manager Android-Set - Alarm sofort gefeuert [Duplikat]
-
25-09-2019 - |
Frage
Mögliche Duplizieren:
Warum ist mein Android-Manager Alarm Brennen sofort?
Ich habe diesen Code, die Alarmmeldung ruft
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();
aber der Alarm wird sofort gefeuert, es nach der angegebenen Stunde und Minuten warten Dosent? sollte ich etwas auf die Manifest-Datei hinzufügen?
Lösung
Sie verwenden, um die aktuelle Zeit den Alarm einzustellen. So ist es feuert sofort.
Überprüfen Sie die API. http: / /developer.android.com/reference/android/app/AlarmManager.html#set%28int,%20long,%20android.app.PendingIntent%29
Es passieren Sie die Zeit, wenn der Alarm als zweiten Parameter geht. In Ihrem Fall ist dies die tatsächliche Zeit. So können Sie die Zeit, hinzufügen sollten Sie auf die Zeit warten möchten Ihr gerade jetzt in der Methode übergeben.