Android :Программный запуск режима выделения текста в WebView на Jelly Bean

Мне нужно программно запустить режим выбора текста в WebView, но код, который я использовал, не работает на Jelly Bean?

Я использовал следующий код, но он больше не работает на Android 4.1 (Jelly Bean ), поскольку WebView.selectText, emulateShiftHeld и отправка ключей больше не поддерживаются в Jelly Bean.

Следующий код, который работает во всех версиях до ICS, основан на:Как включить меню выделения по умолчанию в веб-просмотре Android?

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?

6
задан Community 23 May 2017 в 11:48
поделиться