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
*
*/

更多相关文章

  1. Android中使用代码执行shell命令
  2. Android_判断文件是否存在并创建代码
  3. 三种方法使android 手机执行 二进制程序
  4. android 应用程序全屏(没有状态栏和标题栏)
  5. Android / iOS 静态代码扫描工具调研
  6. Android 内部API (android.internal)和隐藏代码(@hide)概述

随机推荐

  1. 驰骋工作流引擎设计系列02 流程实例的生
  2. React17 系统精讲 结合TS打造旅游电商平
  3. redis的两种持久化的机制,你真的了解么?
  4. 0322作业
  5. flex应用:仿写某网站H5页面
  6. 【小白笔记】Elastic Search核心概念以及
  7. CSS中flex布局的项目属性
  8. 1. 变量的类型转换方式 2. 变量值传递与
  9. 闪存出现“位置不可用无法访问函数不正确
  10. 深入理解计算机系统(1.1)------Hello World