You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kotlin中通过onBackPressed从WebView返回应用界面(仅关闭WebView)

Kotlin解决方案:按下返回键仅关闭WebView而非退出应用

针对你的需求,直接修改onBackPressed()方法,去掉判断WebView是否可返回的逻辑,改为直接对WebView执行隐藏/移除操作即可,无需调用super.onBackPressed()触发应用退出。

场景1:WebView是Activity布局中的固定视图

如果WebView是Activity布局的一部分,想要隐藏它:

override fun onBackPressed() {
    val webView = findViewById<WebView>(R.id.webView)
    // 隐藏WebView
    webView.visibility = View.GONE
    // 若需要彻底从布局中移除,可替换为:
    // webView.parent?.removeView(webView)
}

场景2:WebView在弹窗(Dialog)中显示

如果隐私政策是通过弹窗展示的WebView,直接关闭弹窗即可:

// 提前声明弹窗变量
private lateinit var privacyPolicyDialog: Dialog

override fun onBackPressed() {
    if (privacyPolicyDialog.isShowing) {
        // 关闭弹窗,等同于关闭WebView
        privacyPolicyDialog.dismiss()
    } else {
        // 其他情况再执行默认返回逻辑(退出应用)
        super.onBackPressed()
    }
}

内容的提问来源于stack exchange,提问作者Vivek Jaiswal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 12:50:23