Android: 在WebView中獲取網頁原始碼
阿新 • • 發佈:2019-02-10
package com.hi.briancol.htmlsource; import android.app.Activity; import android.graphics.Bitmap; import android.os.Bundle; import android.util.Log; import android.webkit.WebView; import android.webkit.WebViewClient; public class HtmlSource extendsActivity { privateWebView webView; /** Called when the activity is first created. */ @Override publicvoidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webView = (WebView)findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(newInJavaScriptLocalObj(),"local_obj"); webView.setWebViewClient(newMyWebViewClient()); webView.loadUrl("http://www.cnblogs.com/hibraincol/"); } finalclassMyWebViewClient extendsWebViewClient{ publicbooleanshouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); returntrue; } publicvoidonPageStarted(WebView view, String url, Bitmap favicon) { Log.d("WebView","onPageStarted"); super.onPageStarted(view, url, favicon); } publicvoidonPageFinished(WebView view, String url) { Log.d("WebView","onPageFinished "); view.loadUrl("javascript:window.local_obj.showSource('<head>'+"+ "document.getElementsByTagName('html')[0].innerHTML+'</head>');"); super.onPageFinished(view, url); } } finalclassInJavaScriptLocalObj { publicvoidshowSource(String html) { Log.d("HTML", html); } } }