Android:在WebView中获取网页源码
16lz
2021-01-23
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 extends Activity { private WebView webView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webView = (WebView)findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj"); webView.setWebViewClient(new MyWebViewClient()); webView.loadUrl("http://www.cnblogs.com/hibraincol/"); } final class MyWebViewClient extends WebViewClient{ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } public void onPageStarted(WebView view, String url, Bitmap favicon) { Log.d("WebView","onPageStarted"); super.onPageStarted(view, url, favicon); } public void onPageFinished(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); } } final class InJavaScriptLocalObj { public void showSource(String html) { Log.d("HTML", html); } }}
原文转载于(Braincol的博客园):http://www.cnblogs.com/hibraincol/archive/2011/10/26/2224866.html
关键之处在于:
view.loadUrl("javascript:window.local_obj.showSource('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
运行,可以看到在showSource(String html)中打印了网页源码。
更多相关文章
- Android中图片的放大和缩小源码
- android GPS定位和卫星个数(源码)
- MacAndroid源码下载 Android10详解
- Android电话来电流程源码分析
- 源码解析Android中View的layout布局过程
- Android进阶-Android Handler消息机制的源码详解
- Android精品资源汇总,10个源码(持续更新)
- 安卓Android开发视频教程大全50GB/安卓基础+进阶+高级+项目+源码
- 源码解析Android中View的measure量算过程