Android webview 与JS交互
2015-10-10 09:54
399 查看
mWebView.getSettings().setBuiltInZoomControls(true);//缩放
mWebView.getSettings().setJavaScriptEnabled(true);//添加对JavaScript支持
mWebView.addJavascriptInterface(new Object() {
/**
* 对于JS调用的方法必须声明 @JavascriptInterface
* 否则,对于4.4以及以上的版本,无法被执行
*
*/
@JavascriptInterface
public void getInfo(String _title, String _articleType) {
/**
* -------------------------------------
*
*
* 这样确实能够获取到JavaScript中传入的数据
*
*
* -------------------------------------
*/
Toast.makeText(WebViewDemo3.this,
"_title:" + _title + "\n_articleType:" + _articleType, Toast.LENGTH_SHORT)
.show();
Log.w("jk", "_title:" + _title + "\n_articleType:" + _articleType);
}
}, "tlsj");
//------------------------------------
<html>
<head>
<title>JS交互</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<script type="text/javascript">
function invokedByJava(param) {
document.getElementById("content").innerHTML = "Java has invoked JS function and returnd the data:"+param;
}
function todata(){
var title = 'HTML Title';
var articleType = 'HTML Content';
window.tlsj.getInfo(title,articleType);//----调用Java代码中声明的对象方法,传递相关参数
}
function tojava(){
window.stub.jsMethod('来至JS的参数');
}
</script>
</head>
<body onload="todata()">
<p id="content"></p>
<p>
<input type="button" value="调用Java方法" onclick="tojava()" />
<input type="button" value="调用alert" onclick="alert('hello')" />
</p>
</body>
</html>
mWebView.getSettings().setJavaScriptEnabled(true);//添加对JavaScript支持
mWebView.addJavascriptInterface(new Object() {
/**
* 对于JS调用的方法必须声明 @JavascriptInterface
* 否则,对于4.4以及以上的版本,无法被执行
*
*/
@JavascriptInterface
public void getInfo(String _title, String _articleType) {
/**
* -------------------------------------
*
*
* 这样确实能够获取到JavaScript中传入的数据
*
*
* -------------------------------------
*/
Toast.makeText(WebViewDemo3.this,
"_title:" + _title + "\n_articleType:" + _articleType, Toast.LENGTH_SHORT)
.show();
Log.w("jk", "_title:" + _title + "\n_articleType:" + _articleType);
}
}, "tlsj");
//------------------------------------
<html>
<head>
<title>JS交互</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<script type="text/javascript">
function invokedByJava(param) {
document.getElementById("content").innerHTML = "Java has invoked JS function and returnd the data:"+param;
}
function todata(){
var title = 'HTML Title';
var articleType = 'HTML Content';
window.tlsj.getInfo(title,articleType);//----调用Java代码中声明的对象方法,传递相关参数
}
function tojava(){
window.stub.jsMethod('来至JS的参数');
}
</script>
</head>
<body onload="todata()">
<p id="content"></p>
<p>
<input type="button" value="调用Java方法" onclick="tojava()" />
<input type="button" value="调用alert" onclick="alert('hello')" />
</p>
</body>
</html>
相关文章推荐
- Android中初步认识HelloWorld(一)
- Android - 重启Activity
- Android - 添加桌面快捷方式
- Android - ImageView图形不断旋转的动画
- java和android中遇到的英语单词
- Android - 应用程序的组成部分介绍
- Android - 应用程序Manifest文件简介
- android ndk 构建简介
- Ubuntu 安装AndroidStudio过程详解
- Android 众多的布局属性详解
- Android性能优化小集二
- android ndk 内容
- 让低版本的 Android 项目显示出 Material 风格的点击效果
- Android实现推送方式解决方案
- Android:录像
- android 线程池
- 安卓中通知(Notification)的基本使用方法
- Android TextView 属性XML详解
- Android用JavaMail发送邮件
- Android2.2 Socket关闭Bug的解决方…