如果在网站的webview期间任何时候没有连接,我怎么能显示错误信息.还有什么办法可以隐藏网页错误,如501,404等.提前感谢,我是Android应用程序的新手,所以请详细说明.
package com.website;
import android.app.Activity;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.view.KeyEvent;
import android.view.Window;
import android.content.Context;
import android.net.NetworkInfo;
public class HelloWebView extends Activity {
WebView webview;
/** Called when the activity is first created. */
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
WebView.enablePlatformNotifications();
webview.getSettings().setJavaScriptEnabled(true);
webview.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY);
webview.loadUrl("http://www.google.com/");
webview.setWebViewClient(new HelloWebViewClient());
}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果没有连接,您可以在加载页面之前始终检查互联网连接.如果互联网介于两者之间或发生任何其他错误,那么您将在onReceivedError下面定义的函数中捕获您的错误.
你需要在你的实现中再实现一个功能WebViewClient:
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// TODO Auto-generated method stub
super.onReceivedError(view, errorCode, description, failingUrl);
}
Run Code Online (Sandbox Code Playgroud)
使用此功能,您将获得网页返回的错误代码,然后您可以采取相应的行动.
| 归档时间: |
|
| 查看次数: |
2830 次 |
| 最近记录: |