Potrzebuję programowo uruchomić tryb wyboru tekstu w WebView, ale kod, którego użyłem nie działa na Jelly Bean?Android: Programowo uruchom tryb wyboru tekstu w WebView na Jelly Bean
Używałem następującego kodu, ale nie działa on już w systemie Android 4.1 (Jelly Bean), ponieważ WebView.selectText, emulateShiftHeld i wysyłanie kluczy nie są już obsługiwane w Jelly Bean.
następujący kod, który działa na wszystkich wersjach do ICS jest oparta na: 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);
}
}
}
Jak wdrożyć podobną funkcjonalność, która działa na Jelly Bean?
Hej @Martin, czy w końcu to rozwiązałeś? – davids
Cześć Davids, Mam wymienione potencjalne rozwiązanie w komentarzach tutaj: http://stackoverflow.com/questions/7581131/how-to-enable-the-default-highlight-menus-in-android-webview – Martin
Dzięki @Martin :) – davids