Android - Wie man richtig mit onPause / onResume-Methoden umgeht?

Ich habe eine App, die mit der Wiedergabe von Sounds beginnt und das Gameplay mit der onResume () -Methode startet / fortsetzt. Was mir jedoch auffällt, ist, dass meine App die zuletzt ausgeführte Anwendung war, als ich das Telefon in den Standby-Modus versetzte (Bildschirm aus), und Ich drücke einfach die Menütaste, um die Uhrzeit zu überprüfen, dann beginnt das Telefon mit dem Spielen und ertönt im Hintergrund (die App ist eigentlich nicht sichtbar, nur der Bildschirm mit Datum / Uhrzeit ist, aber in meinem muss onResume aufgerufen worden sein) app). Was soll ich hier machen? Gibt es eine Möglichkeit zu erkennen, was die App reaktiviert, und dann eine bedingte Anweisung hinzuzufügen, die das Spiel nur startet, wenn die App tatsächlich sichtbar ist?

Hier ist ein Ausschnitt aus meinem onResume:

@Override
    protected void onResume()
    {
        mySaveGame = Utilities.loadSavegame(this);

        //check the savegame
        if(mySaveGame!=null)
        {
            //start game using savegame values
            this.startFromSavedGame(mySaveGame.getIsLevelComplete());   
        }
        else
        {
            //run the 1st-run components
            this.startFirstRun();
        }

        super.onResume();
    }

Das einzige, was ich tun kann, um zu verhindern, dass das Spiel startet, wenn der Bildschirm eingeschaltet wird (auch wenn die App nicht sichtbar ist), ist this.finish () als letzte Zeile in onPause () ... Dies zwingt Sie jedoch dazu, die App jedes Mal neu zu starten, wenn Sie wieder darauf zugreifen möchten, da der Prozess selbst beendet wurde (was in Ordnung ist, da meine OnPause persistente Daten speichert, aber keine elegante Lösung ist).

Bitte hilfe.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage