您的位置:首页 > 移动开发 > Android开发

Android 实现WebView与JavaScript相互调用//支持javaScript对android方法调用 mWebView.addJavascriptInterface(n

2016-12-30 14:55 831 查看
1.编写html网页和其javascript方法

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript">
function hello(){
alert("hello");
}
function helloMessage(message){
alert(message);
}

function sum(number1, number2){
alert("返回");
window.AndroidFunction.toast(number1+number2);
}

function showAndroidToast(){
var testVal = document.getElementById('htmlTextId').value;
window.AndroidFunction.toast(testVal);
}
</script>
</head>
<body>

<input type="text" style="width: 180px;"name="htmlText" value="輸入參數" id="htmlTextId" />

<input type="button" value="調用安卓Toast" id="btnSubmit" onclick="showAndroidToast()" />

</body>
</html>


2.加载html网页

//支持javaScript对android方法调用
mWebView.addJavascriptInterface(new JavaScriptObject(MainActivity.this),"AndroidFunction");
// Use local resource
mWebView.loadUrl("file:///android_asset/index.html");


public class JavaScriptObject {
Context mContxt;

public JavaScriptObject(Context mContxt) {
this.mContxt = mContxt;
}

public void toast(String name) {
Toast.makeText(mContxt, name, Toast.LENGTH_LONG).show();
}
}


3.实现调用js方法

@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btn_call_js_no_parameter:
mWebView.loadUrl("javascript:hello()");
break;
case R.id.btn_call_js_has_parameter:
mWebView.loadUrl("javascript:helloMessage(\""+"大家好"+"\")");
break;
case R.id.btn_call_js_has_parameter_and_return:
mWebView.loadUrl("javascript:sum(1,2)");
break;
}
}


下载地址:http://download.csdn.net/detail/a7779486/9725653
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: