I have an Android app which has a webview. When there\'s no internet connection, webview will display page not available. I want to make this look like an app as much as pos
webView.setWebViewClient(new WebViewClient() {
int errorCode = 0;
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return handleUri(view, url);
}
@TargetApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
return handleUri(view, request.getUrl().toString());
}
private boolean handleUri(WebView view, final String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
if(errorCode == 0) {
//CHECK IS PAGE I NEED AND DO STUFF
} else {
errorCode = 0;
//delay and try again
}
}
@SuppressWarnings("deprecation")
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
handleError(errorCode);
}
@TargetApi(Build.VERSION_CODES.N)
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
handleError(error.getErrorCode());
}
private void handleError(int errorCode) {
this.errorCode = errorCode;
}
});