一星期前做了一个手机端的内容型网站,本来是用来跟我的微信订阅号捆绑的,为订阅号提供内容和交互服务。但在找到合适的切入点之前,办这个微信订阅号只是想体验一下整个流程,亲身弄一遍下来肯定会对甄选项目有帮助。但既然微站有了,里面内容也有了些,那正好做一个Android APP,这样即使在微信订阅号的入口上做了限制,也可以从APP访问全站内容。
下面是主要代码、效果图和源码工程下载。
- 主要代码
webView = (WebView) findViewById(R.id.webView);
//覆盖WebView默认使用系统默认浏览器打开网页的行为,用WebView打开
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//以下两行本意是用来控制用WebView打开点击后的页面,而不调用系统浏览器,但它会导致对于主页重定向的网页,无法退出的问题
//view.loadUrl(url);
//return true;
return false; //解决重定向页面后退不了的问题
}
});
//支持Javascript
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
//优先使用缓存
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
// 判断页面加载过程
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
// TODO Auto-generated method stub
if (newProgress == 100) {
// 网页加载完成
} else {
// 加载中
}
}
});
如果你的网站上有页面重定向,注意这个方法:
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//以下两行本意是用来控制用WebView打开点击后的页面,而不调用系统浏览器,但它会导致对于主页重定向的网页,无法退出的问题
//view.loadUrl(url);
//return true;
return false; //解决重定向页面后退不了的问题
}
- 效果图: