Android webview 未发出所有按键事件

问题描述 投票:0回答:1

我有一个简单的 Android 活动,它覆盖

onKeyDown
onKeyUp
。所有关键事件均正确触发。

当我添加 Web 视图并使用

setOnKeyListener
时,与活动
onKeyUp
onKeyDown
处理程序相比,仅触发关键事件的子集。 Web 视图仅触发某些按键,例如音量增大、音量减小、菜单、返回。向上翻页、向下翻页、向左、向右、向上、向下、选择时无法触发。

我尝试扩展 WebView 并重写

onCreateInputConnection
以根据其他一些帖子返回
BaseInputConnection
,但没有效果。

android webview
1个回答
0
投票

这是因为 webView 正在消耗这些关键事件。您可以在 WebView 使用 keyEvents 之前重写它们,如下所示

   webView.webViewClient = object : WebViewClient() {
                override fun shouldOverrideKeyEvent(view: WebView?, event: KeyEvent?): Boolean {
                    // Handle key events here
                    return super.shouldOverrideKeyEvent(view, event)
                }
            }
© www.soinside.com 2019 - 2024. All rights reserved.