1、在assets目录下创建web.html。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function javaCallJS(arg){
document.getElementById("content").innerHTML = arg;
}
</script>
</head>
<body>
<h1><div id="content">内容显示</div></h1>
<br/>
<input type="button" value="js调用java" onclick="window.android_cts.jsCallJava('http://chanpinxue.cn')" />
</body>
</html>
2、Activity中增加调用代码。
// webview
private WebView miWebView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
// webview
miWebView = (WebView) findViewById(R.id.webview);
// 启用javascript
miWebView.getSettings().setJavaScriptEnabled(true);
// 从assets目录下面的加载html
miWebView.loadUrl("file:///android_asset/web.html");
// 从web服务器加载
//miWebView.loadUrl("http://127.0.0.1/web.html");
miWebView.addJavascriptInterface(LoginActivity.this,"android_cts");
// webview测试
// java调用js/传递参数调用
miWebView.loadUrl("javascript:javaCallJS(" + "'http://chanpinxue.cn'" + ")");
}
// js 调用java
@JavascriptInterface
public void jsCallJava(final String text){
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(LoginActivity.this, text, Toast.LENGTH_SHORT).show();
}
});
}