gpt4 book ai didi

java - Android:在 Jelly Bean 上的 WebView 中以编程方式触发文本选择模式

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:17:56 25 4
gpt4 key购买 nike

我需要在 WebView 中以编程方式触发文本选择模式,但我使用的代码在 Jelly Bean 上不起作用?

我一直在使用以下代码,但它不再适用于 Android 4.1 (Jelly Bean),因为 Jelly Bean 不再支持 WebView.selectText、emulateShiftHeld 和按键分配。

以下适用于所有版本直至 ICS 的代码基于:How to enable the default highlight menus in android webview?

public void selectAndCopyText() {
try {
// ICS
WebView.class.getMethod("selectText").invoke(this);
} catch (Exception e1) {
try {
Method m = WebView.class.getMethod("emulateShiftHeld", (Class[])null);
m.invoke(this, (Object[])null);
} catch (Exception e2) {
// fallback
KeyEvent shiftPressEvent = new KeyEvent(0,0,
KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SHIFT_LEFT,0,0);
shiftPressEvent.dispatch(this);
}
}
}

如何实现适用于 Jelly Bean 的类似功能?

最佳答案

我在这里的评论中列出了一个可能的解决方案:How to enable the default highlight menus in android webview?

以下是潜在解决方案的内容:在分析了 android.webkit.WebViewClassic 之后,我在以下方面取得了一些成功:

KeyEvent enterEvent = new KeyEvent(0,0,KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_ENTER,0,0);
enterEvent.dispatch(this);

我认为可能需要更多,因为在使用模拟器时,我需要向下滚动 WebView 一点,但在真正的 JellyBean 设备上测试后,上面似乎工作正常。

关于java - Android:在 Jelly Bean 上的 WebView 中以编程方式触发文本选择模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11881824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com