zoukankan      html  css  js  c++  java
  • Android中WebView和JavaScript通信

             Android提供了webview和JavaScript之间通信的api,这样就能做到native程序和html程序之间的交互,看下面的例子(html中调用js,传递两个字符串给java程序):


    java代码:

    public class AndroidJsDemoActivity extends Activity {
    	
    	private WebView mWebView; 
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            mWebView = (WebView) findViewById(R.id.webview);
            WebSettings webSettings = mWebView.getSettings(); 
            webSettings.setSavePassword(false); 
            webSettings.setSaveFormData(false); 
            webSettings.setJavaScriptEnabled(true); 
            webSettings.setSupportZoom(true);
            mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "androidjsdemo");
            mWebView.loadUrl("file:///android_asset/demo.html"); 
        }
        final class DemoJavaScriptInterface {
            DemoJavaScriptInterface() { 
            } 
            public void  test(String str1,String str2){ 
                Intent intent=new Intent(AndroidJsDemoActivity.this,Activity2.class);
                Bundle b=new Bundle();
                b.putString("str1", str1);
                b.putString("str2", str2);
                intent.putExtras(b);
                startActivity(intent);
            } 
        }
    }
    html代码:
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    <title>Insert title here</title> 
    </head> 
        <body>this is html page<p>
            <input type="submit" value="buttons" 
            onclick="androidjsdemo.test('ddd','fff')"/> 
        </body> 
    </html>

    重点看代码中标红部分。
    androidjsdemo与java程序中
    addJavascriptInterface(new DemoJavaScriptInterface(), "androidjsdemo")后面的参数对应
    test('ddd','fff')是使用的 
    DemoJavaScriptInterface的方法


    /**
    * @author 张兴业
    * 邮箱:xy-zhang#163.com
    * android开发进阶群:278401545
    *
    */

  • 相关阅读:
    python-发送邮件
    python-操作Excel表格
    PLSQL 删表 恢复
    ajax
    List<Object>
    Java String 转成 二位数组
    js-sequence-diagrams > 时序图
    Highcharts › 自由绘图
    高德地图 JS API (jsp + miniui(子页面数据返回父页面并设值) + 单个点标记 + 点标记经纬度 + 回显 + 限制地图显示范围+搜索)
    突然奋斗的开发
  • 原文地址:https://www.cnblogs.com/xyzlmn/p/3168117.html
Copyright © 2011-2022 走看看