android - 通过javascript在webview中请求数据

时间:2013-04-19 16:58:07

标签: java android cordova

我知道你可以定义用于webview的javascript界面​​。你可以走另一条路,在你的网页浏览器中调用android中的javascript函数吗?

例如

        WebView myWebView = (WebView) findViewById(R.id.webview);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        myWebView.addJavascriptInterface(new WebAppInterface(this),
                "Android");
        myWebView.loadUrl("http://www.mytest.com/whatever.php?");

        String formValue = myWebView.fireJavascriptFunction("getFormInput");

我的html页面将具有以下javascript函数

function getFormInput(){
    return $("#myInput").val();
}

这个想法是从本机按钮的本机onclick处理程序触发getFormInput()函数。

2 个答案:

答案 0 :(得分:0)

一个简单的谷歌搜索“android webview调用javascript函数”给你很多例子。 Here is one。但是,您无法从此调用返回值。如果需要返回值,则可以在JavaScript接口Object中实现回调方法。

答案 1 :(得分:0)

您只需拨打myWebView.loadUrl("javascript:getFormInput()");即可运行此功能。

然而,从在webview中运行的javascript函数获取结果,并在java代码中使用它,要复杂得多。从WebView获取信息非常复杂。您可以在这篇文章中获得更多相关信息:

How do I get the web page contents from a WebView?