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

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" οnclick="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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值