现在android 4.2以上的版本,反正注入很简单,js交互函数加上@JavascriptInterface就ok,那低版本呢?其实很简单别把它想的很难。
说白了总体思路是:在网页没加载完前,注入自己写的js代码,然后在onJsPrompt() 通过反射,调取本地js交互的函数。那你会问onJsPrompt()在哪?这个函数有什么作用?
1.首先这个函数是在WebChromeClient()下的一个函数。
2.onJsPrompt(WebView view, String url, String message,
String defaultValue, JsPromptResult result)函数:message为交互时是h5传递过来的数据,那我们反射调用结果返回到H5当中呢?可以通过prompt方法。例如(从其他博客抓的)
那你说代码怎么写自己注入的js代码呢?这里有个封装好的,可以直接用。demo后续给出。