如何在WebView Android中获取选定文本
我正在开发一个应用程序,在其中我需要获取选定的文本 我有一个自定义上下文操作栏,当用户在webview中选择文本时,它会显示出来。我想在点击我的操作栏按钮时,在选择处理程序下获得高亮显示的文本 之前有人问过这个问题, 但没有解决办法如何在WebView Android中获取选定文本,android,webview,Android,Webview,我正在开发一个应用程序,在其中我需要获取选定的文本 我有一个自定义上下文操作栏,当用户在webview中选择文本时,它会显示出来。我想在点击我的操作栏按钮时,在选择处理程序下获得高亮显示的文本 之前有人问过这个问题, 但没有解决办法 我正在尝试myWebView.getSelection()之类的东西。我发布了一个类似问题的答案。在此处共享,以便快速访问答案 对于API>=19,您可以使用evaluateJavascript mWebview.evaluateJavascript("(func
我正在尝试myWebView.getSelection()之类的东西。我发布了一个类似问题的答案。在此处共享,以便快速访问答案 对于API>=19,您可以使用
evaluateJavascript
mWebview.evaluateJavascript("(function(){return window.getSelection().toString()})()",
new ValueCallback<String>()
{
@Override
public void onReceiveValue(String value)
{
Log.v(TAG, "Webview selected text: " + value);
}
});
然后,当您想要获得选择时,请使用以下命令:
mWebview.loadUrl(“javascript:javascriptinterface.callback(window.getSelection().toString())”代码>
并定义一个WebAppInterface类,如下所示:
public class JavaScriptInterface
{
@JavascriptInterface
public void callback(String value)
{
Log.v(TAG, "SELECTION:" + value);
}
}
添加Mahendra Liya答案:
对于API>=19,还需要启用JavaScript:
WebSettings settings = yourWebview.getSettings();
settings.setJavaScriptEnabled(true);
我认为你应该回顾一下:
WebSettings settings = yourWebview.getSettings();
settings.setJavaScriptEnabled(true);