Ich benutze Alarm-Manager für API anrufen. Es wird in einer Aktivität onCreate aufgerufen. Ich möchte, dass es beim Start der App einen Alarm gibt und alarmiert alle drei Stunden.AlarmManager wiederholt Anruf auch wenn es nicht Zeit ist
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY,1);
AlarmManager alarmManager1 = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent myIntent1 = new Intent(LobbyActivity.this,WeatherBroadCastReceiverCurrent.class);
PendingIntent pendingIntent1 = PendingIntent.getBroadcast(this,0,myIntent1,0);
alarmManager1.setInexactRepeating(AlarmManager.RTC,calendar.getTimeInMillis(),AlarmManager.INTERVAL_HOUR+
AlarmManager.INTERVAL_HOUR+AlarmManager.INTERVAL_HOUR/*(1000*60*60*3)*/,pendingIntent1);
Diese Tätigkeit ist dann fertig und geht zu einer anderen Aktivität, wenn eine Schaltfläche geklickt wird. Mein Problem ist - wenn die Aktivität neu erstellt wird, wird ein Alarm ausgelöst, auch wenn es nicht die Zeit ist. Kann ich einen Alarm für eine Nicht-Aktivitätsklasse festlegen, damit er beim Erstellen der Aktivität nicht erneut aufgerufen wird? Wenn das so ist, wie? Tia
danke für die antwort, aber mein problem ist der alarm wird immer ausgelöst, wenn die aktivität, wo ich den alarm erklärte, neu erstellt wird. Was ich brauche ist, nachdem der Alarm eingestellt ist, wird er einmal ausgelöst und alle 3 Stunden aufgerufen. Was passiert, ist, dass es erneut ausgelöst wird, nachdem die Aktivität neu erstellt wurde, auch wenn es nicht an der Zeit ist. – John
Sie können statischen Wert in Preference speichern, um zu überprüfen, ob App zum ersten Mal läuft oder nicht, basierend darauf können Sie Alarm –
ich sehe einstellen. vielen Dank. – John