2012-08-09 45 views
6

Tôi cần kích hoạt chế độ chọn văn bản theo chương trình trong WebView, nhưng mã tôi đã sử dụng không hoạt động trên Jelly Bean?Android: Kích hoạt chương trình chế độ chọn văn bản trong WebView trên Jelly Bean

Tôi đã sử dụng mã sau nhưng mã không còn hoạt động trên Android 4.1 (Jelly Bean) vì WebView.selectText, emulateShiftHeld và công cụ khóa không còn được hỗ trợ trên Jelly Bean nữa.

mã sau đó hoạt động trên tất cả các phiên bản lên đến ICS dựa trên: 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); 
     } 
    } 
} 

Làm thế nào để thực hiện chức năng tương tự hoạt động trên Jelly Bean?

+0

Hey @Martin, cuối cùng bạn đã giải quyết vấn đề này chưa ?? – davids

+0

Hi davids, tôi đã liệt kê một giải pháp tiềm năng trong các nhận xét ở đây: http://stackoverflow.com/questions/7581131/how-to-enable-the-default-highlight-menus-in-android-webview – Martin

+0

Cảm ơn @Martin :) – davids

Trả lời

2

tôi đã liệt kê một giải pháp tiềm năng trong các ý kiến ​​ở đây: How to enable the default highlight menus in android webview?

Dưới đây là nội dung của giải pháp tiềm năng: Sau khi phân tích android.webkit.WebViewClassic Tôi đã có một số thành công như sau:

KeyEvent enterEvent = new KeyEvent(0,0,KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_ENTER,0,0); 
enterEvent.dispatch(this); 

tôi suy nghĩ nhiều hơn có thể được yêu cầu như tôi cần thiết để di chuyển xuống WebView một chút trước khi làm việc trên khi sử dụng một trình giả lập, nhưng sau khi thử nghiệm trên một thiết bị JellyBean thực sự ở trên dường như làm việc tốt.

Các vấn đề liên quan