Frage

ich eine Anwendung, die von mehreren Aktivitäten bestehen. Wenn die Anwendung gestartet wird, werden einige Alarme mit AlarmManager und einige Dienste geplant gestartet werden:

AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
a.setInexactRepeating(...)
....

Ich mag jede Art und Weise kennen zu garantieren, dass jeder Dienst beendet wird und jeder Alarm ist ungeplantes, wenn der Benutzer der Anwendung beendet .

Das Problem ist, dass der Benutzer die Anwendung von verschiedenen Aktivitäten lassen kann, und ich weiß nicht wie die Idee der Überschreiben die onDestroy Methode in jeder Aktivität. Gibt es eine bekannte Intent ich erhalten kann, wenn die Anwendung beendet?

Ich habe auch festgestellt, dass eine Android-Anwendung eine Klasse haben kann, die von Application erstreckt, mit einer onTerminate Methode:

public class MyApplication extends Application { 
    @Override
    public void onTerminate() {
        ...
    }
}

Aber die Dokumentation ist sehr klar: „nie auf dieser Methode abhängen genannt wird, in vielen Fällen eine unnötige Anwendung Prozess wird einfach vom Kernel beendet werden, ohne dass Anwendungscode ausführen“

Jeder Vorschlag wird sehr geschätzt.

War es hilfreich?

Lösung

  

Ich mag jede Art und Weise kennen zu   Garantie jeden Dienst beendet wird und   Jeder Alarm wird ohne Zeitplan, wenn die   Benutzer beendet die Anwendung.

Es gibt nicht so etwas wie in Android „Benutzer die Anwendung beendet“.

  

Gibt es ein bekanntes Intent I can   erhalten, wenn die Anwendung beendet?

Nein.

  

Ich habe auch, dass ein Android gefunden   Anwendung kann eine Klasse, dass   erstreckt sich von der Anwendung, mit einem   OnTerminate Methode

Dies wird genannt werden, in vielen Fällen, irgendwann nach dort nicht mehr ausgeführt werden Komponenten. In Ihrem Fall gibt es Komponenten (Services) ausgeführt wird.

  

Aber die Dokumentation ist sehr klar:   „Hängen nie auf dieser Methode Wesen   namens; in vielen Fällen einem nicht benötigten   Bewerbungsverfahren einfach sein   vom Kernel beendet ohne Ausführung   jeder Anwendungscode "

Der einzige Fall, den ich kenne, wenn es nicht aufgerufen werden, wenn der Prozess beendet wird, wobei in diesem Fall Ihres Dienst wird auch beseitigt werden, obwohl geplante Alarme nicht.

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