Quellcode durchsuchen

[Android] Back button navigates back now instead of closing webview

Andreas Muttscheller vor 7 Jahren
Ursprung
Commit
5c132c52cf

+ 20 - 0
android/src/main/java/com/flutter_webview_plugin/WebviewManager.java

@@ -3,6 +3,7 @@ package com.flutter_webview_plugin;
 import android.annotation.TargetApi;
 import android.app.Activity;
 import android.os.Build;
+import android.view.KeyEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.webkit.CookieManager;
@@ -26,6 +27,25 @@ class WebviewManager {
         this.webView = new WebView(activity);
         WebViewClient webViewClient = new BrowserClient();
         webView.setWebViewClient(webViewClient);
+
+        webView.setOnKeyListener(new View.OnKeyListener() {
+            @Override
+            public boolean onKey(View v, int keyCode, KeyEvent event) {
+
+                if (event.getAction() == KeyEvent.ACTION_DOWN) {
+                    switch (keyCode) {
+                        case KeyEvent.KEYCODE_BACK:
+                            if (webView.canGoBack()) {
+                                webView.goBack();
+                                return true;
+                            }
+                            break;
+                    }
+                }
+
+                return false;
+            }
+        });
     }
 
     private void clearCookies() {