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

前端技术 2023/09/05 Android

在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结束

本文地址:https://www.stayed.cn/item/12361

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。