我的应用程序中有一个WebView,但是当没有互联网连接时,它会显示来自谷歌的普通网页,上面写着“没有互联网连接”。我想要它显示两件事:
1)如果没有互联网连接,我希望在那里说“没有互联网连接”,并有一个刷新按钮。
2)当应用程序启动或尝试连接时,它将显示进度条/加载屏幕。
以下是一些WebView脚本:
WebView wv = (WebView) view.findViewById(R.id.webViewF);
wv.getSettings().setJavaScriptEnabled(true);
String url = "http://m.facebook.com/";
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl(url);
wv.setWebChromeClient(new WebChromeClient());
wv.setWebViewClient(new WebViewClient());
public class myWebClient extends WebViewClient
{
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
if (errorCode == ERROR_CONNECT)
{
What should i write here ??!!!
}
// TODO Auto-generated method stub
super.onReceivedError(view, errorCode, description, failingUrl);
}
}
答案 0 :(得分:1)
创建自定义WebView
类(创建一个类并对其进行扩展)并实现onReceivedError
向主机应用程序报告错误。这些错误是 不可恢复的(即主要资源不可用)。 errorCode 参数对应于ERROR_ *常量之一。
参数 查看正在启动回调的WebView。
errorCode 与ERROR_ *值对应的错误代码。
description 描述错误的字符串。 failingUrl那个网址 无法加载。
您可以处理错误:
int ERROR_AUTHENTICATION User authentication failed on server
int ERROR_BAD_URL Malformed URL
int ERROR_CONNECT Failed to connect to the server
int ERROR_FAILED_SSL_HANDSHAKE Failed to perform SSL handshake
int ERROR_FILE Generic file error
int ERROR_FILE_NOT_FOUND File not found
int ERROR_HOST_LOOKUP Server or proxy hostname lookup failed
int ERROR_IO Failed to read or write to the server
int ERROR_PROXY_AUTHENTICATION User authentication failed on proxy
int ERROR_REDIRECT_LOOP Too many redirects
int ERROR_TIMEOUT Connection timed out
int ERROR_TOO_MANY_REQUESTS Too many requests during this load
int ERROR_UNKNOWN Generic error
int ERROR_UNSUPPORTED_AUTH_SCHEME Unsupported authentication scheme (not basic or digest)
int ERROR_UNSUPPORTED_SCHEME Unsupported URI scheme
对于您的#2,请使用onPageStarted
和onPageFinished
。