我有一个带有webview的应用程序,我一直试图从webview正文中获取用户选择的文本。你会认为操作系统能够处理像iOS那样的操作系统,但是这是Android完全不足的地方之一。我探讨了这个网站和谷歌,并没有发现任何可以帮助我的东西。我的应用幸运地拥有一个JavaScript界面,与我们加载到webview中的脚本进行通信。我以为我可以使用JavaScript从webview中选择文本。在Chrome中我可以用JavaScript以下位做到这一点:Android:window.getSelection()在webview中不起作用
window.getSelection.toString();
现在我有一个按钮,这在我的js文件调用一个函数,将运行上面的命令,并在我的javascript它的结果返回给的方法接口。该消息将烘烤我的javascript功能的结果。所以我选择文本,然后按此按钮。唯一的问题是,我的烤面包的消息返回以下消息:
javascript returned:
时,它应该返回
javascript returned: <my selected text>
当我删除了”的ToString();部分从我的JavaScript命令并选择文本,然后按下按钮我得到以下消息
javascript returned: undefined
为什么不能正常工作?
这是我在上下文中的代码。这是被称为HTE的javascript:
myNameSpace.getTextSelection = function()
{
var str;
if (window.getSelection){
str = window.getSelection().toString();
} else {
str = 'does not';
}
window.myJSHandler.getSelectedText(str);
};
和这里的Java函数被调用
public void getSelectedText(String text)
{
String str = "function called. it returned: " + text;
Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG).show();
}
拉维,请添加此反射 – 2016-05-05 12:24:41