如何在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
相关产品推荐
相关产品推荐

