Zurück Button in WebView App

Der Zurück Button in einer WebView App schießt standardmäßig die App. Dieses Verhalten ist für die Navigation auf einer Webseite nicht sinnvoll, deshalb müssen wir eine kleine Änderung an der Programmierung machen. In den letzten Artikeln zum Thema Android WebView App habe ich ja bereits gezeigt wie einfach es ist eine solche App zu bauen.

Zurück Button in WebView App

Zurück Button in WebView AppDas WebView Element von Android ist recht flexibel, es bietet bereits sehr viele Funktionen an die man nur richtig einsetzen muss. Eine dieser Funktionen ist die goBack() Methode, mit der lädt man die zuletzt geöffnete URL. Diese Methode entspricht deshalb exakt dem Verhalten der Zurück-Taste im Browser.

Wir müssen nun lediglich goBack() aufrufen, wenn man die Android Taste Zurück klickt. In der Android Activity kann man durch das Überschreiben der onKeyDown Funktion auf alle Tastenevents reagieren. Wir müssen nur den korrekten KeyEvent kennen. Die Zurück Taste hat den Namen KEYCODE_BACK. Sollte also diese Taste gedrückt worden sein, rufen wir die zuletzt gezeigte Seite erneut auf. In dem Fall, dass die aktuell angezeigte Seite die erste Seite in der History ist machen wir gar nichts.

Der vollständige Code sieht wie folgt aus:

Falls die Taste mit dem KeyEvent KEYCODE_BACK geklickt wurde ändern wir das Verhalten des WebView Elements. Dieses ist als Klassenvariable mit dem Namen wv angelegt. Aus diesem Grund können wir recht einfach aus der Methode darauf zugreifen. Wichtig ist, dass wir am Ende der Funktion die onKeyDown der Parent Klasse aufrufen, sonst würde alle anderen Tastenevents die abgearbeitet würden nicht mehr verarbeitet. Im schlimmsten Fall würde die App dann nicht mehr korrekt funktionieren.

Fazit

Man kann in einer WebView Android App recht einfach das Verhalten der Tasten des Smartphones oder Tablets verändern. Dazu muss man lediglich die onKeyDown Methode überschreiben und die benötigten KEYCODE KeyEvents abfragen und gegebenenfalls eigenen Code ausführen.

(Visited 217 times, 1 visits today)

Das könnte auch interessant sein...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.