如何在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)。你怎么能看到这里

为什么会这样呢?

不要使用反射来获取私有api。这将不能在Android 4.4 (KitKat)上工作,不管你的minSdk/targetSdk,因为这个API根本不存在。

相关内容

  • 没有找到相关文章

最新更新