Erkennen, ob die App im Vordergrund ist

  • Antworten:3
Tobias
  • Forum-Beiträge: 12

28.02.2015, 11:27:52 via Website

Hallo,
Ich hab schon viel gegoogelt, aber hab nicht wirklich was gefunden, bzw. nur Lösungen, die mit depricated Methoden arbeiten...
Ich habe einen Reciever, der meine Push-Notifications erkennt und darauf hin bestimmte Aktionen ausführt. Ich möchte jetzt aber prüfen, ob meine App schon offen ist oder ob sie gerade im Hintergund läuft und davon abhängig bestimmte Aktionen durchführen.
Hat jemand einen guten Ansatz für mich?

Danke
Tobi

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

28.02.2015, 15:50:06 via Website

Er will das ja im reciver machen, d.h. der ist unabhängig von der Actvity.
Ich würde es über onCreate/onPauseund onResume machen und immer eine Variable in den SharedPreferences ändern.
Dann kannst du diese aus dem Reciver abfragen.

Lg

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
LitteM
  • Forum-Beiträge: 141

28.02.2015, 16:23:46 via Website

Ich hoffe ich hab jetzt nicht völlig falsch verstanden was du suchst. Vielleicht hilft dir ja sowas hier ;)

boolean checkActive() {

        ActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> services = activityManager
            .getRunningTasks(Integer.MAX_VALUE);
    boolean isActivityFound = false;

    if (services.get(0).topActivity.getPackageName().toString()
            .equalsIgnoreCase(getApplicationContext().getPackageName().toString())) {
        isActivityFound = true;
    }

    if (isActivityFound) {
        return true;
    } else {
        return false;
    }
}

— geändert am 28.02.2015, 16:24:34

Antworten