如何添加 window 消息事件监听器 - Android WebView

How to add window message event Listener - Android WebView

如何添加事件侦听器来处理 window message 事件 WebView。我试过了,

webView.evaluateJavascript("window.addEventListener('message', function (e) { Android.logData('HELLO')});", null);

但它不起作用。有什么办法可以实现吗?

探索之后,我没有找到任何方法可以在不向网站添加任何代码的情况下从 WebView 中的网站 运行 获取数据到应用程序。最后,我决定也对我的网站进行必要的更改。我就是这样做的:

在应用程序中

创建了 class

private class JsObject {
    @JavascriptInterface
    public void shareData(String data) {
        Log.v(LOG_TAG, data);
    }
}

将新的 class 作为 Javascript 接口添加到 WebView 的实例,名称为

ssWebView.addJavascriptInterface(new JsObject(), "Android");

此实例将添加到 WebViewwindow 对象中作为 Android(名称,上述函数的第二个参数)

在网站中

在网站分享数据

window.Android && window.Android.shareData("This is the data from website");