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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top