我正在尝试创建一个 Android 应用程序来链接到我 friend 的博客。它可以很好地链接到主页,但是当我按页面上的链接时,我收到错误“此页面有太多服务器重定向”。有什么想法吗?
public class WebViewHelper {
private ProgressDialog mProgressDialog;
//make it final so it will be accessible to setWebViewClient
public WebView webview(final Context mContext) {
// progress dialog
mProgressDialog = new ProgressDialog(mContext);
// new webview
WebView web = new WebView(mContext);
// web settings
WebSettings webSettings = web.getSettings();
// false
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setAppCacheEnabled(false);
// true
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(true);
webSettings.setAllowFileAccess(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setUseWideViewPort(true);
// other
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
webSettings.setRenderPriority(RenderPriority.HIGH);
web.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
//show the user progress percentage
mProgressDialog.setMessage("Loading... " + progress + "%");
}
});
web.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
//if there's an error loading the page, make a toast
Toast.makeText(mContext, description + ".", Toast.LENGTH_SHORT)
.show();
}
public void onPageFinished(WebView view, String url) {
//after loading page, remove loading page
mProgressDialog.dismiss();
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
//on page started, show loading page
mProgressDialog.setCancelable(false);
mProgressDialog.setMessage("Loading...");
mProgressDialog.show();
}
});
// return the web view
return web;
}
}
最佳答案
您确定您尝试查看的网页没有问题吗?它可以在 native 浏览器中正常加载吗?
此外,为了强制 webview 处理在 webview 上单击的任何链接的加载,您需要覆盖 shouldOverrideUrlLoading() WebViewClient 中的方法。您的代码中缺少此内容。
PS:我想将此作为评论发布,但由于我没有足够的声誉,因此将其作为答案发布。
关于java - 此页面有太多服务器重定向 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21207696/