如何启用android webview中的默认高亮菜单?

如何启用默认文本高亮菜单,如:复制/粘贴/search/共享在android的webview?

在这里输入图像说明

Solutions Collecting From Web of "如何启用android webview中的默认高亮菜单?"

在Android 1.5 – 2.3上工作,你可以使用emulateShiftHeld()从2.2开始公开,但现在已经被弃用了。 这种方法把你的WebView进入文本select模式。

https://developer.android.com/reference/android/webkit/WebView.html#emulateShiftHeld%28%29

不幸的是,在Android中没有复制/粘贴/search/共享function,因为Android 2.0的文本select可以通过触摸来驱动,但除此之外,没有其他的事情可以做。

我find了一个解决方法这个检查方法selectText()在WebView(它不是在API中,但可以使用reflection调用)

这里是我的完整方法源代码:

  public void startTextSelection() { try { WebView.class.getMethod("selectText").invoke(this); } catch (Exception e) { try { WebView.class.getMethod("emulateShiftHeld").invoke(this); } catch (Exception e1) { KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0); shiftPressEvent.dispatch(this); Toast.makeText(getContext(), R.string.select_text, Toast.LENGTH_LONG).show(); } } } 

也在ICS上工作。

尝试这个:

  mWebView.setHapticFeedbackEnabled(true); mWebView.setLongClickable(true);