我已经实现了我自己的具有基本功能的自定义Web浏览器(带有后退,前进,刷新和停止按钮)。一切都工作得很好,但每当我加载重定向网址时它就会中断,并尝试通过调用'webview.goBack()'返回。
让我们假设URL1重定向到URL2。因此,每当我尝试打开URL1时,webview会自动重定向到URL2。如果我通过调用'webview.goBack'尝试返回上一页,完全加载URL2后,webview将尝试加载URL1,再次重定向到URL2,然后我再次登陆同一页面。
这是我的代码: 'private WebViewClient mWebViewClient = new WebViewClient(){
public void onPageStarted(WebView view, String url,
android.graphics.Bitmap favicon) {
Log.d(TAG, "onPageStarted");
};
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d(TAG, "shouldOverrideUrlLoading");
view.loadUrl(url);
return true;
};
public void onPageFinished(WebView view, String url) {
Log.d(TAG, "onPageFinished");
};
};'
任何帮助都将受到高度赞赏。谢谢!
答案 0 :(得分:3)
试试这个:
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d(TAG, "shouldOverrideUrlLoading");
return false;
};
答案 1 :(得分:0)
webView.setInitialScale(1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUserAgentString(
"Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv)
AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0
Chrome/43.0.2357.65 Mobile Safari/537.36"
);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
}});
webView.loadUrl(url);