Android:WebView與 JS 交互

參考鏈接:https://blog.csdn.net/leejizhou/article/details/50894531
https://blog.csdn.net/carson_ho/article/details/64904691
http://www.itdecent.cn/p/3c94ae673e2a
Android和JS腳本的交互:
1.webview綁定javascriptInterface,js腳本通過這個(gè)接口來調(diào)用java代碼, 第一個(gè)參數(shù)是自定義類對象,映射成JS對象,,第二個(gè)參數(shù)是別名,JS腳本通過這個(gè)別名來調(diào)用java的方法,這個(gè)別名跟HTML代碼中也是對應(yīng)的。

// 通過addJavascriptInterface()將Java對象映射到JS對象(調(diào)用分享的代碼)
        //參數(shù)1:Javascript對象名
        //參數(shù)2:Java對象名
        mWebView.addJavascriptInterface(new AndroidtoJs(), "test");//AndroidtoJS類對象映射到j(luò)s的test對象

2.Android調(diào)用JS腳本
2.1.直接Webview調(diào)用loadUrl方法,里面是JS的方法名,并可以傳入?yún)?shù),javascript:xxx()方法名需要和JS方法名相同

mWebView.loadUrl("javascript:javacalljs()");

2.2.HTML代碼


image.png

3.JS腳本調(diào)用Android代碼:

// 獲取來自h5頁面的數(shù)據(jù)
    public class AndroidtoJs extends Object {
        // 定義JS需要調(diào)用的方法
        // 被JS調(diào)用的方法必須加入@JavascriptInterface注解
        @JavascriptInterface
        public void hello(String msg) {
            getWebMsg=msg;
            parseJSONWithJSONObject(msg);
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容