WebView でテキスト選択モードをプログラムでトリガーする必要がありますが、使用したコードは Jelly Bean では機能しませんか?
次のコードを使用していますが、Android 4.1 (Jelly Bean) では機能しなくなりました。これは、WebView.selectText、emulateShiftHeld、およびキー ディスパッチが Jelly Bean でサポートされなくなったためです。
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 で動作する同様の機能を実装するにはどうすればよいですか?