100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > android webview 获取网页内容 在WebView中获取网页中的内容

android webview 获取网页内容 在WebView中获取网页中的内容

时间:2019-12-06 02:21:42

相关推荐

android webview 获取网页内容 在WebView中获取网页中的内容

原理:重写WebViewClient的onPageFinished方法,在onPageFinished中加载一段js代码,js代码再调用本地方法

用下面的方法可以获取网页的html源码importandroid.app.Activity;

importandroid.graphics.Bitmap;

importandroid.os.Bundle;

importandroid.util.Log;

importandroid.webkit.WebView;

importandroid.webkit.WebViewClient;

publicclassHtmlSourceextendsActivity{

privateWebViewwebView;

/**Calledwhentheactivityisfirstcreated.*/

@Override

publicvoidonCreate(BundlesavedInstanceState){

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("/hibraincol/");

}

finalclassMyWebViewClientextendsWebViewClient{

publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){

view.loadUrl(url);

returntrue;

}

publicvoidonPageStarted(WebViewview,Stringurl,Bitmapfavicon){

Log.d("WebView","onPageStarted");

super.onPageStarted(view,url,favicon);

}

publicvoidonPageFinished(WebViewview,Stringurl){

Log.d("WebView","onPageFinished");

view.loadUrl("javascript:window.local_obj.showSource('

'+"+

"document.getElementsByTagName('html')[0].innerHTML+'');");

super.onPageFinished(view,url);

}

}

finalclassInJavaScriptLocalObj{

publicvoidshowSource(Stringhtml){

Log.d("HTML",html);

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。