如何使用WebMessagePort将JS代码注入WebView

时间:2019-09-04 14:53:49

标签: android webview

我将JavaScript添加为“脚本”并传递postWebMessage的参数。 Webview有一个javascript函数,我必须调用这些函数之一并传递数据。 它可以与validateJavaScript(script,null)一起正常工作,但不能使用webmessagePorts

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    webMessagePort = webView.createWebMessageChannel();
                    webMessagePort[0].setWebMessageCallback(new WebMessagePort.WebMessageCallback() {
                        @Override
                        public void onMessage(WebMessagePort port, WebMessage message) {
                            super.onMessage(port, message);
                        }
                    });
                    webView.postWebMessage(new WebMessage(script, new WebMessagePort[]{webMessagePort[1]}), Uri.EMPTY);

0 个答案:

没有答案