일단 소스부터 보여드리겠습니다.
private class mWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) { // 웹뷰 내부에서 URL이동을 위해 오버라이드.
view.loadUrl(url);
Log.e("3","4");
return true;
}
@Override
public void onReceivedError(WebView view, int errorCode,String description, String failingUrl) {
Log.e("error","error error error error");
switch(errorCode) {
case ERROR_AUTHENTICATION: break; // 서버에서 사용자 인증 실패
case ERROR_BAD_URL: break; // 잘못된 URL
case ERROR_CONNECT: break; // 서버로 연결 실패
case ERROR_FAILED_SSL_HANDSHAKE: break; // SSL handshake 수행 실패
case ERROR_FILE: break; // 일반 파일 오류
case ERROR_FILE_NOT_FOUND: break; // 파일을 찾을 수 없습니다
case ERROR_HOST_LOOKUP: break; // 서버 또는 프록시 호스트 이름 조회 실패
case ERROR_IO: break; // 서버에서 읽거나 서버로 쓰기 실패
case ERROR_PROXY_AUTHENTICATION: break; // 프록시에서 사용자 인증 실패
case ERROR_REDIRECT_LOOP: break; // 너무 많은 리디렉션
case ERROR_TIMEOUT: break; // 연결 시간 초과
case ERROR_TOO_MANY_REQUESTS: break; // 페이지 로드중 너무 많은 요청 발생
case ERROR_UNKNOWN: break; // 일반 오류
case ERROR_UNSUPPORTED_AUTH_SCHEME: break; // 지원되지 않는 인증 체계
case ERROR_UNSUPPORTED_SCHEME: break; // URI가 지원되지 않는 방식
}
super.onReceivedError(view, errorCode, description, failingUrl);
}
}
WebViewClient 셋팅은 넣어준상태구요.
webview.loadurl("a"); 실행했다고 치면ERROR_BAD_URL 에러가 잡혀야하는거아닌가요? 근데 전혀 onReceivedError 이놈이 반응이없네요. 각 에러별 동작은 아직 넣어준 상황은 아니지만 로그가 안찍히는걸로 봐서 전혀 반응이없네요. 제가 잘못 테스트 하고있는건가요 ?