在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代码:

复制代码 代码如下:


  
搞定。

更多相关文章

  1. Android 读取元素的数据
  2. Android中Activity常用功能设置小结(包括全屏、横竖屏等)
  3. android Looper Message 代码分析
  4. Android源码50例汇总,欢迎各位下载 【转载自51CTO】
  5. 《第一行代码Android》学习总结第三章 编写聊天界面实践
  6. Android(安卓)DexHelper帮你解决65536问题
  7. android开发学习2——hello world
  8. Android高低API版本兼容之@TargetApi
  9. Android(安卓)http请求例子、Unicode转UTF-8 java代码收藏

随机推荐

  1. Android(安卓)input输入设备键值从底层到
  2. 怎样用 C/C++ 开发一个原生程序运行在 An
  3. 【Flutter】认识目录结构
  4. 将Android工程做成jar包和资源文件
  5. Android(安卓)资源,国际化,自适应
  6. 一个小白的Android之路
  7. Android中配置和使用Google Map服务
  8. Android(安卓)开机速度优化-----ART 预先
  9. 为什么我喜欢android
  10. Android报表解决方案 使用开源组件iChart