我试图在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根本不存在。