【发布时间】:2012-08-09 10:54:16
【问题描述】:
我需要在 WebView 中以编程方式触发文本选择模式,但我使用的代码在 Jelly Bean 上不起作用?
我一直在使用以下代码,但它不再适用于 Android 4.1 (Jelly Bean),因为 Jelly Bean 不再支持 WebView.selectText、emulateShiftHeld 和 key dispatch。
以下适用于 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 的类似功能?
【问题讨论】:
-
嘿@Martin,你终于解决了这个问题吗??
-
嗨,大卫,我在这里列出了 cmets 中的一个潜在解决方案:stackoverflow.com/questions/7581131/…
标签: java android webview copy-paste android-4.2-jelly-bean