在开发的时候经常会用到webview,必然会涉及到webview与客户端的交互,比如在网页上进行某个操作后,需要在app上显示一个提示,提示内容由网页提供,这时候就需要js来调用客户端的java代码了。
webview提供了一个方法addJavascriptInterface()来满足这种需求。
具体步骤:
这里的"TestObject"是随便起的名字,你可以改成其他的。这个名字主要是让webview的js调用的。
备上一段官网关于这个内容的代码:
class JsObject {
@JavascriptInterface
public String toString() { return "injectedObject"; }
}
webView.addJavascriptInterface(new JsObject(), "injectedObject");
webView.loadData("", "text/html", null);
webView.loadUrl("javascript:alert(injectedObject.toString())");