webentwicklung-frage-antwort-db.com.de

Wie kann ich in Android programmgesteuert die Zurück-Taste drücken?

In meiner App habe ich eine Abmeldefunktion. Wenn der Benutzer auf Abmelden klickt, wird der Startbildschirm angezeigt. Jetzt beende ich meine App durch Drücken der Zurück-Taste. Aber was ich will ist, ich muss automatisch (d. H. Programmgesteuert) genauso wie die Zurück-Tasten-Funktion beenden. Ich weiß, dass ich durch Aufrufen von finish () die Funktionalität übernehmen werde. Aber die Sache ist, dass es zur vorherigen Tätigkeit geht.

72
vinothp

onBackPressed() wird unterstützt seit: API Level 5 

 @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if ((keyCode == KeyEvent.KEYCODE_BACK)) {
                onBackPressed();
            }
    }

@Override
    public void onBackPressed() {
        //this is only needed if you have specific things
        //that you want to do when the user presses the back button.
        /* your specific things...*/
        super.onBackPressed();   
    }
111
Tarun

Sie müssen onBackPressed() nicht überschreiben. Sie ist bereits als Aktion definiert, die Ihre Aktivität standardmäßig ausführt, wenn der Benutzer die Zurück-Taste drückt. Rufen Sie also einfach onBackPressed() auf, wenn Sie die Zurück-Taste "programmgesteuert" drücken möchten.

Das würde allerdings nur dazu führen, dass finish() aufgerufen wird;)

Ich denke, Sie sind verwirrt mit dem, was die Rücktaste bewirkt. Standardmäßig ist dies nur ein Aufruf von finish(), daher wird die aktuelle Aktivität einfach beendet. Wenn Sie etwas hinter dieser Aktivität haben, wird dieser Bildschirm angezeigt.

Wenn Sie Ihre Aktivität über das Login starten, fügen Sie ein CLEAR_TOP-Flag hinzu, damit die Login-Aktivität nicht vorhanden ist, wenn Sie Ihre Aktivität beenden.

36
josephus

Manchmal ist es hilfreich, die Methode onBackPressed () zu überschreiben, denn wenn Sie mit Fragmenten arbeiten und zwischen ihnen wechseln, wenn Sie die Zurück-Taste drücken, kehren sie zum vorherigen Fragment zurück.

8
Serj Moya

Rufen Sie onBackPressed auf, nachdem Sie es in Ihrer Aktivität überschrieben haben.

5
drulabs

sie können einfach onBackPressed () verwenden.

oder wenn Sie fragment verwenden, können Sie getActivity () verwenden. onBackPressed ()

1
Abhishek Patil

Fügen Sie einfach finish () hinzu; in Ihrer ersten Klasse '(Login-Aktivität) onPause (); Methode. das ist alles

0
dbs ray