2016-07-09 4 views
0

Ich habe zwei SituationenWie erkennen Sie den Status der Anwendung statt der Aktivität?

  1. Eine Haupttätigkeit, von dem ich noch Aktivitäten beginnen und aus dieser Tätigkeit zur Haupttätigkeit zurückzukehren.
  2. Meine ganze Anwendung ist im Hintergrund und ich komme zur Haupttätigkeit zurück.

Wie kann ich diese beiden Situationen separat identifizieren? Ich denke onRestart und onResume Methoden können mir nicht helfen, weil diese beiden Methoden in beiden Situationen aufgerufen werden.

+0

Dieser Link kann für Sie hilfreich sein: http://stackoverflow.com/questions/5447912/android-detecting-application-launch-from-home-or-history#14941514 –

+0

Basisaktivität erstellen und erben von dem auf Alle Aktivitäten, überschreiben onPause und onResume in baseActivity, in onPause führen Sie einen Handle mit 1 Sekunde postDelay aus, wenn der Aufruf vor dem Ausführen des Handler-Codes fortgesetzt wird, beenden Sie den Handler. In Handle-Code ändern Sie einen booleschen Wert, der in den Hintergrund geht. in onResume oder wo auch immer das überprüfen –

Antwort

1

Um die beide Situation in Ihrer Frage zu identifizieren, können Sie diese Schritten folgen:

  1. In Ihrer Haupttätigkeit, verwenden startActivityForResult mit requestCode anderen acitivities zu starten> = 0
  2. Überschreibung onActivityResult Verfahren in Haupttätigkeit um das Ereignis zu behandeln, wenn Sie von anderen Aktivitäten zurückkehren.
  3. Anruf setResult in anderen Aktivitäten, bevor Sie zur Haupttätigkeit zurückkehren möchten.

Ihre zweite Situation würde onAcvitityResult Methode nicht auslösen.