ps: Because my content is filled with html and js, it cannot be printed directly
Follow the following three steps to get it done
1.
final class InJavaScriptLocalObj { @JavascriptInterface public void showSource(String html) { Log.d("HTML", html); } }
2.
webView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj");
3.
webView.setWebViewClient(new WebViewClient() {@Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); // view.loadUrl("javascript:alert(document.getElementsByTagName('html')[0].innerHTML)"); view.loadUrl("javascript:window.local_obj.showSource('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");}