现在我需要使用webview组件来加载HTML页面并处理组件功能。 HTML页面中的内容是,
你可以看到有一个多对象(webkit.messageHandlers.adClicked),我怎么能用webView.addJavascriptInterface()函数来处理呢? 我知道如何处理单个对象,但我不知道如何处理多个对象?
enter code here
webView.addJavascriptInterface(this, "webkit");
webView.addJavascriptInterface(this, "messageHandlers");
webView.addJavascriptInterface(this, "adClicked");
webView.addJavascriptInterface(this, "webkit.messageHandlers.thepaperNewsClicked");
@android.webkit.JavascriptInterface
public void postMessage(final String str) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getContext(), "param:" + str, Toast.LENGTH_SHORT).show();
}
});
答案 0 :(得分:-1)
来自android API文档:
void addJavascriptInterface(Object object,String name)
参数“name”用于让javascript从android调用,所以你只需要处理单个对象;你可以创建一个类并放置 在可以调用javascript的函数中,给javascript调用一个名称。
你可以在这篇文章中看到他们做了什么: https://stackoverflow.com/a/24060790/8355528
参考网站: https://developer.android.com/reference/android/webkit/WebView.html