Unterscheiden Sie zwischen dem Drücken der Home-Taste und dem Öffnen einer anderen Aktivität

Ich habe drei Aktivitäten: - SplashActivity - MainActivity - PlayerActivity

Natürlich startet die App mit SplashActivity, startet dann MainActivity und wird geschlossen. MainActivity startet in einem bestimmten Moment PlayerActivity und geht in den Backstack. (MainActivity lebt, ist aber onStop) Dann muss ich MainActivity öffnen und PlayerActivity auf Hintergrund setzen (PlayerActivity lebt, ist aber onStop). Dann muss ich PlayerActivity erneut öffnen und MainActivity auf den Hintergrund stellen.

So PlayerActivity und MainActivity erhalten häufig onPause () und onStop () ohne onDestroy, wenn die App wechselt.

Ich muss alle Aktivitäten beenden und die App für SplashActivity jedes Mal starten, wenn der Benutzer die Home-Taste drückt. Die Home-Taste entspricht jedoch dem Umschalten zwischen Aktivitäten (onPause () und onStop ()). Also kann ich den Unterschied nicht fassen, um Aktivitäten zu töten.

Bitte hilfe.

EDITED: Unglücklicherweise, onUserLeaveHint hilft nicht, es ist das gleiche. Wenn der Benutzer HOME drückt, ruft dies auf:

onUserInteraction, onUserLeaveHint, onPause, onStop

Diese Aktivität gibt die vorherige Aktivität (Hauptaktivität) ohne Benutzeraktionen zurück.

public class PlayerActivity erweitert Aktivität

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_next);

    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            startActivity(new Intent(PlayerActivity.this, MyActivity.class));
        }
    }, 5000);
}

}

Aber immer noch das gleiche:

onUserInteraction, onUserLeaveHint, onPause, onStop

Antworten auf die Frage(4)

Ihre Antwort auf die Frage