首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android WebView 返回鍵直接退出內層頁面:URL 判斷攔截 back 事件

     編輯:程式設計綜合問答

WebView 內部歷史棧導致 back 鍵逐級後退,需攔截:

webView.setOnKeyListener((v, keyCode, event) -> {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
        String url = webView.getUrl();
        if (url != null && url.contains("page2")) { // 內層頁面特徵
            webView.loadUrl("page1_url"); // 或 webView.goBackOrForward(-N)
            return true; // 消費事件
        }
    }
    return false;
});

核心:根據當前 URL 判斷是否為內層頁,是則強制跳轉頂層頁,否則交給系統默認處理(退出 Activity)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved