Android
[WebView] - WebviewClient가 제공하는 주요 콜백 정리
dev_SiWoo
2025. 11. 13. 17:39
🔵 1. 페이지 로딩 관련 콜백
| onPageStarted | 페이지 로딩 시작할 때 : 로딩 시작 → 스피너 표시 할 때 |
| onPageFinished | 페이지 로딩 완료할 때 : 페이지 로딩 완료 후 JS 호출, 스피너 종료 등을 수행할 |
| onLoadResource | 페이지에서 리소스(이미지, CSS 등)를 불러올 때 |
| onReceivedError | 일반 로딩 에러 발생 시 |
| onReceivedHttpError | HTTP 에러(404, 500 등) 발생 시 |
| onReceivedSslError | SSL 인증서 에러 시 |
🔵 2. URL 처리·네비게이션 관련 콜백
| shouldOverrideUrlLoading | WebView가 특정 URL을 로드할지 말지 결정하는 핵심 콜백 |
| shouldInterceptRequest | 네트워크 요청을 가로채서 직접 응답을 줄 수 있음 |
| onPageCommitVisible | 페이지가 화면에 실제로 보이기 시작할 때 |
| onUnhandledKeyEvent | 웹뷰가 처리하지 못한 KeyEvent를 Android가 받을 때 |
🔵 3. SSL, 인증, 보안 관련 콜백
| onReceivedClientCertRequest | 클라이언트 인증서 요청 처리 |
| onReceivedHttpAuthRequest | HTTP 인증 필요 시 호출 |
| onSafeBrowsingHit | SafeBrowsing에서 위험한 URL을 감지했을 때 |
🔵 4. 쿠키·프라이버시·스토리지 관련 콜백
| onRenderProcessGone | WebView 렌더러 프로세스가 죽었을 때 (안정성 향상) |
| onFormResubmission | 폼을 다시 제출해야 할 때 (예: 새로고침 후 POST 요청 경고) |