Как использовать Android Multi-Webview?

Я сделал доступным мульти-веб-просмотр Android, а затем открыл новое окно в window.open(). Я поместил код javascript в новое окно и попытался получить ответ, но код был помещен в существующее окно, а не в новое окно. Любое решение? Помоги мне

#javascript push method

      public void webViewEvent(WebView view, String script, int delay, String service) {
    TextView footerBottomText = findViewById(R.id.footerBottomText);
    handler.postDelayed(new Runnable() {
        @RequiresApi(api = Build.VERSION_CODES.KITKAT)
        @Override
        public void run() {

            view.evaluateJavascript(script, new ValueCallback<String>() {
                @Override
                public void onReceiveValue(String s) {
                    scriptCallback(service, s);
                }
            });
        }
    }, delay);
}

#onCreateWindow

      @Override
    public boolean onCreateWindow(final WebView view, boolean dialog,
                                  boolean userGesture, Message resultMsg) {

        newWebView = new WebView(MainActivity.this);
        WebSettings webSettings = newWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setSupportMultipleWindows(true);
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webSettings.setDomStorageEnabled(true);
        webSettings.setAllowFileAccess(true);
        webSettings.setUserAgentString(dbHelper.getUserConfig().get("userAgent"));
        newWebView.setFocusable(true);
        newWebView.setFocusableInTouchMode(true);

        newWebView.setWebViewClient(new WebViewClient());
        newWebView.setWebChromeClient(new WebChromeClient(){
            @Override
            public void onCloseWindow(WebView window) {
                window.setVisibility(View.GONE);
                myWebView.removeView(window);
            }
        });
        myWebView.addView(newWebView);

        WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
        transport.setWebView(newWebView);
        resultMsg.sendToTarget();
        return true;
    }

0 ответов

Другие вопросы по тегам