gpt4 book ai didi

android webview中使用Java调用JavaScript方法并获取返回值

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章android webview中使用Java调用JavaScript方法并获取返回值由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

在android平板上用webview打开一个网页,调用里面的javascript方法,同时相互传参。 网上例子很少啊,基本都不能获取返回值,贴一个自己最后调试完的代码如下: Java

复制代码 代码如下:

protected void onCreate(Bundle savedInstanceState) { ........ x = (WebView)this.findViewById(R.id.webView_viewTable); x.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); x.getSettings().setBuiltInZoomControls(true); x.getSettings().setJavaScriptEnabled(true); x.addJavascriptInterface(new JsToJava(), "stub");  //JsToJava是内部类,代码在后面。stub是接口名字.

  。

//x.loadUrl("http://192.168.1.1/init.html");//这句是载入一个html页面。但是因为直接load一个网页会有延迟,所以最好用下面这句: x.loadDataWithBaseURL("", data, "text/html", "UTF-8","");  //这句里面data是init.html的内容。就是代码。直接用FileInputStream获取到就好.

x.loadUrl("javascript:setValuesJson('hello world')"); //hello world是给JavaScript传递的参数。setValuesJson是页面里JavaScript的方法。如果传递的参数中有双引号的话,用下面的写法: String url = "javascript:setValuesJson(\"" + jsonString + "\")"; x.loadUrl(url); ......... }//onCreate结束 。

  。

再写一个内部类:

复制代码 代码如下:

private class JsToJava
{
        public void jsMethod(String paramFromJS)
        {
            //Log.i("CDH", paramFromJS);
            System.out.println("js返回结果" + paramFromJS);//处理返回的结果
        }
}

  。

JavaScript代码

复制代码 代码如下:

<script type="text/javascript">
        function setValuesJson(param)
        {
            alert(param);//param是java传过来的值,即"hello world".
            var result = "传回Java的string";
            window.stub.jsMethod(result);//用接口stub, 通过调用内部类中的方法jsMethod给java传回result。
        }
</script>

   搞定.

最后此篇关于android webview中使用Java调用JavaScript方法并获取返回值的文章就讲到这里了,如果你想了解更多关于android webview中使用Java调用JavaScript方法并获取返回值的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com