Mar*_*tin 6 java android copy-paste webview android-4.2-jelly-bean
我需要在WebView中以编程方式触发文本选择模式,但我使用的代码不适用于Jelly Bean?
我一直在使用以下代码,但它不再适用于Android 4.1(Jelly Bean),因为Jelly Bean不再支持WebView.selectText,emulateShiftHeld和密钥发送.
以下代码适用于ICS以上的所有版本基于:如何启用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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何实现适用于Jelly Bean的类似功能?
我在此处的评论中列出了一个潜在的解决方案:How to enable the defaulthighlight menus in android webview?
以下是潜在解决方案的内容:经过分析,android.webkit.WebViewClassic我在以下方面取得了一些成功:
KeyEvent enterEvent = new KeyEvent(0,0,KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_ENTER,0,0);
enterEvent.dispatch(this);
Run Code Online (Sandbox Code Playgroud)
WebView我认为可能需要更多,因为在使用模拟器时,我需要在上面的工作之前向下滚动一点,但在真正的 JellyBean 设备上测试后,上面的工作似乎很好。
| 归档时间: |
|
| 查看次数: |
3053 次 |
| 最近记录: |