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

    xiaoxiao2021-03-25  61

    <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)); } });

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

    转载请注明原文地址: https://ju.6miu.com/read-39340.html

    最新回复(0)