onPageFinished有时不叫Android WebView

时间:2017-04-19 17:01:04

标签: android printing webview

我使用webview来显示打印预览,问题是有时候webview没有显示。发生这种情况时,不会调用onPageFinished()回调。我觉得奇怪的是,它大部分时间都有效,但有时却没有。

WebView webView = new WebView(context);

    webView.loadData(html,
            "text/html", "UTF-8");

    webView.setWebViewClient(new WebViewClient() {
        @RequiresApi(api = Build.VERSION_CODES.KITKAT)
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view,url);
            Log.d(TAG, "onPageFinished: ");

            PrintDocumentAdapter printDocumentAdapter = new PrintDocumentAdapterWrapper(view.createPrintDocumentAdapter());
            printManager = (PrintManager) context.getSystemService(PRINT_SERVICE);
            printManager.print(webViewName, printDocumentAdapter, printAttributes);

        }

    });

1 个答案:

答案 0 :(得分:2)

我使用webView.loadDataWithBaseURL(null,html, "text/html", "UTF-8",null);代替webView.loadData(html, "text/html", "UTF-8");解决了这个问题 从我读到的两个方法有一个完全不同的实现