<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)); } });
很简单的几句代码就能轻松的实现