4 Stimmen

Wie kann ich feststellen, wann meine Anwendung läuft?

Ich habe eine Anwendung, die einen Dienst zum Abrufen von Daten im Hintergrund verwendet, sowohl während die Anwendung ausgeführt wird, als auch wenn sie nicht läuft. Wenn sie nicht läuft, möchte ich eine Benachrichtigung anzeigen, wenn es neue Daten gibt, aber nicht, wenn die Anwendung läuft.

Wie kann ich in meinem Dienst feststellen, ob die Anwendung läuft oder nicht?

0voto

Wilken Punkte 197

Was ich getan habe, war ein Flag in meinem Dienst zu verwenden, das die Root-Aktivität bei onStart/onStop setzt und löscht. Das funktioniert ziemlich gut.

0voto

Damjan Punkte 2893

So habe ich es gemacht und es funktioniert einwandfrei mit nur ein paar Zeilen Code:

In der erweiterten App-Klasse:

public static boolean isAppInFront = false;

In Ihrer Haupttätigkeit:

@Override
public void onStart() {
    super.onStart();
    MyApplication.isAppInFront = true;
}

@Override
public void onStop() {
    super.onStop();
    if (isFinishing())
        MyApplication.isAppInFront = false;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X