Android WebView 获取网页数据(html)_html/css_WEB-ITnose
程序员文章站
2022-04-26 12:36:02
...
1. activity_main.layout
2. MainActivity.java
package com.example.webviewhtml;import android.app.Activity; import android.graphics.Bitmap; import android.os.Bundle; import android.webkit.JavascriptInterface;import android.webkit.WebView; import android.webkit.WebViewClient; /** * Dmeo说明: * 当WebView加载网页时获取该网页中的内容. * 参考资料: * http://www.maxters.net/2012/02/android-webview-get-html-source/ */ public class MainActivity extends Activity { private WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init(){ mWebView=(WebView) findViewById(R.id.webView); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj"); mWebView.getSettings().setSupportZoom(true); mWebView.getSettings().setDomStorageEnabled(true); mWebView.getSettings().setPluginsEnabled(true); mWebView.requestFocus(); mWebView.getSettings().setUseWideViewPort(true); mWebView.getSettings().setLoadWithOverviewMode(true); mWebView.getSettings().setSupportZoom(true); mWebView.getSettings().setBuiltInZoomControls(true); mWebView.loadUrl("http://www.baidu.com"); mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); view.loadUrl("javascript:window.local_obj.showSource(''+" + "document.getElementsByTagName('html')[0].innerHTML+'');"); } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, errorCode, description, failingUrl); } }); } /** * android sdk api >= 17 时需要加@JavascriptInterface * @author fei * */ final class InJavaScriptLocalObj { @JavascriptInterface public void showSource(String html) { System.out.println("====>html="+html); } } }
3. 在AndroidManifest.xml
增加权限:
推荐阅读
-
android webview获取html代码和根据id获取value实例
-
获取网页源码问题_html/css_WEB-ITnose
-
WebForm 获取实体类的数据,填充页面(用session传值)_html/css_WEB-ITnose
-
怎么获取这个网页内容_html/css_WEB-ITnose
-
这个网页是如何取得实际数据的?_html/css_WEB-ITnose
-
htmlUnit访问一个网站获取数据太频繁,被对方友好的封了IP_html/css_WEB-ITnose
-
android webview获取html代码和根据id获取value实例
-
Android Webview 加载外部html时选择加载本地的js,css等资源文件_html/css_WEB-ITnose
-
htmlUnit访问一个网站获取数据太频繁,被对方友好的封了IP_html/css_WEB-ITnose
-
webView获取链接后的url和加载经过处理后的HTML_html/css_WEB-ITnose