如何使用反射在Android WebView中获取所选文本?

时间:2014-03-20 18:10:20

标签: android reflection android-webview

我正在尝试在Android中获取我的WebView的选定文本。我知道Android不会让我们以正确的方式获得这个。

我在互联网上找到的一个解决方案是使用反射。这是我正在使用的代码:

    Region result = null;
    try {
         Object[] params = null;

         Method nativeGetSelection = WebView.class.getDeclaredMethod("nativeGetSelection");
         nativeGetSelection.setAccessible(true);     
         result = (Region)nativeGetSelection.invoke(this, params);
     } catch (Exception e) {
         e.printStackTrace();
     }

但是我得到了NoSuchMethodException。但Android WebView具有所需的方法(nativeGetSelection)。您如何看待here

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

不要使用反射来获取私有API。这不适用于Android 4.4(KitKat),无论你的minSdk / targetSdk是什么,因为那个API根本就不存在。