js交互 webiview点击事件获取android的方法

来源:互联网 发布:姚金刚seo与网络营销 编辑:程序博客网 时间:2024/06/05 09:29

<script> function scanGoods(){   var goodsSn = window.webkit.messageHandlers.scanGoods.postMessage(null);   }function scanGoods2(){   var goodsSn = window.contact.toast('123') alert(goodsSn) } function getIosScanCode(arg){ alert(arg) } </script>上图是js里面的代码。


android的代码

  //加载页面
        webView = (WebView) findViewById(R.id.webview);
        //允许JavaScript执行
        webView.getSettings().setJavaScriptEnabled(true);

  webView.loadUrl("地址");

    // 添加一个对象, 让JS可以访问该对象的方法, 该对象中可以调用JS中的方法
        webView.addJavascriptInterface(new Contact1(), "contact");//contact 对应h5标注红色的contact


//给h5提供 的方法

 private final class Contact1 {
   
      //toast 对应 蓝色字体的toast
        @JavascriptInterface
        public void toast(String str){
       
       
        Toast.makeText(MainActivity.this, str
, Toast.LENGTH_LONG).show();

        }


    }

如果要启动别的activity,

   @JavascriptInterface
        public void toast(String str){
        new Handler().post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// startActivity(new Intent(MainActivity.this,CaptureActivity.class));
}
});



很简单的几句代码就能轻松的实现

0 0
原创粉丝点击