參考鏈接: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);
}
}