i eine Anwendung habe, wo ich für jede 15 Minuten einen Alarm müssen planen dies der Codeandroid Ausführen von Code nur einmal
public void scheduleAlarm() {
// Construct an intent that will execute the AlarmReceiver
Intent intent = new Intent(getApplicationContext(), MyAlarmReceiver.class);
// Create a PendingIntent to be triggered when the alarm goes off
final PendingIntent pIntent = PendingIntent.getBroadcast(this, MyAlarmReceiver.REQUEST_CODE,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
// Setup periodic alarm every 5 seconds
long firstMillis = System.currentTimeMillis(); // alarm is set right away
AlarmManager alarm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
// First parameter is the type: ELAPSED_REALTIME, ELAPSED_REALTIME_WAKEUP, RTC_WAKEUP
// Interval can be INTERVAL_FIFTEEN_MINUTES, INTERVAL_HALF_HOUR, INTERVAL_HOUR, INTERVAL_DAY
alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP, firstMillis,
AlarmManager.INTERVAL_HALF_HOUR, pIntent);
}
}
ist und ich diese Methode in der onCreate Methode meiner mainActivity nennen, mein Problem ist, ich bekomme nicht, wie man die Methode beschränkt, die nur einmal aufgerufen wird, da die Methode onCreate jedes Mal aufgerufen wird, wenn die Aktivität erstellt wird. Wenn ich eine gemeinsame Voreinstellung verwende, um zu speichern, ob die Methode aufgerufen wird oder nicht, was kann ich tun, wenn der Benutzer die appdata von den Einstellungen löscht.
auch nicht helfen google, wenn der Benutzer die App-Daten gelöscht; hoffe du hast die antwort :); Viel Spaß beim Codieren – DJphy
@Shantanu Hi, nur mit diesen Fragen überprüfen. http://stackoverflow.com/questions/24462279/alarm-manager-service-start-every-oncreate. – RameshJaga
dann speichern Sie die Informationen in der lokalen Datenbank –