2017-06-11 4 views
0

Ich lese eine Million von Themen im Zusammenhang, aber keiner von ihnen ist aktualisiert und erfüllt meine Frage. vielleicht ist mein Problem anders. Weißt du, wann du während einer Sitzung in einer App die Home-Taste drückst und dann die App nach ein paar Sekunden wieder öffnest? Die App zeigt den genauen Punkt an, den du dir angesehen hast. Wenn Sie eine App schließen und stattdessen die Zurück-Taste mehrmals drücken (oder Sie sie dauerhaft schließen), wird der Begrüßungsbildschirm angezeigt, wenn Sie ihn erneut öffnen. Ich möchte dieses Verhalten emulieren: jedes Mal, wenn ein Benutzer die Home-Taste drückt oder er/sie meine App schließt, MUSS der Begrüßungsbildschirm erneut geladen werden. jetzt die Frage: Wie kann ich meine App beenden, wenn sie im Hintergrund läuft ODER den Begrüßungsbildschirm beim Nachladen erzwingen? Ich habe versucht, etwas Code in die onResume jeder Aktivität zu setzen, aber das Umschalten zwischen den Aktivitäten OBVIOUSLY führt auch diesen Code aus und der normale Fluss der App wäre kaputt. Kannst du mir bitte helfen? Vielen DankBeenden Sie Android-App, wenn im Hintergrund oder zeigen Sie eine genaue Aktivität, wenn neu geladen

+0

posten Sie bitte Ihren Code – Vyacheslav

+0

zu lang, welche Teile benötigen Sie? – Fausto

+0

die wichtigsten Ereignisse – Vyacheslav

Antwort

0

Sie können das Click-Ereignis für die Home-Taste nicht überschreiben.

Es gibt viele Möglichkeiten zu erkennen, dass die App in den Hintergrund gegangen ist, die in einem Thread here diskutiert werden.

+0

@Fausto überprüfen Sie die bearbeitete Antwort. –

+0

ok, in der Tat gibt es nullpointer auf dem wenn ich die App starten: es führt den Code über 3 mal und auf der dritten Ausführung Absicht ist null – Fausto

+0

sorry mein schlechtes. https://stackoverflow.com/questions/4414171/how-to-detect-when-android-app-goes-to-the-background-and-come-back-to-the-fo –

0

Rezept: Anruf finish() der Aktivität in onPause() Ereignis außer wenn Sie neue Aktivität starten.

+0

also sollte ich in der onPause() jedes Mal finish() aufrufen, außer wenn ich eine neue Aktivität starte? Wenn ja: Wie überprüfe ich innerhalb der onPause, wenn ich eine neue Aktivität starte? – Fausto

+0

zum Beispiel, erstellen Sie ein neues boolesches Flag: 'startsNewActivity = true; startActivityForResult(); "innerhalb" onActivityResult() {startsNewActivity = false}; ' – Vyacheslav

+0

oder überschreiben Sie' startActivity' auf die gleiche Weise – Vyacheslav

Verwandte Themen