JsBridage
Js与原生交互的方式:
通过注入对象或拦截 URL SCHEME实现JSBridge
原生调用JS(webView.loadUrl)
Js调用原生
1. 注入对象(webView.addJavaScriptInterface)
Android4.2前addJavascriptInterface接口存在注入漏洞,即JS可以通过反射获取到native端的其他接口,进行其他非法操作,所以4.2之后升级增加了JS只能访问带有 @JavascriptInterface注解的Java函数的限制。
2. 拦截 URL SCHEME(覆盖shouldOverrideUrlLoading)
更好的兼容性,创建请求,需要一定的耗时