Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 공모주 청약 일정
- java
- 리눅스
- 공모주 청약
- 6월 공모주 청약 일정
- Stock ipo
- jquery
- SQL
- linux
- 맥
- 7월 공모주 청약 일정
- 제이쿼리
- 주식 청약
- 자바스크립트
- php
- Eclipse
- html
- Stock
- 코드이그나이터
- css
- 주식 청약 일정
- Oracle
- JavaScript
- 공모주
- IPO
- MYSQL
- codeigniter
- 주식
- 오라클
- 자바
Archives
- Today
- Total
개발자의 끄적끄적
[Android] WebView에서 Javascript Alert 창이 보이지 않을 때 본문
728x90
반응형
// Enable pinch to zoom without the zoom buttons
mWebView.getSettings().setBuiltInZoomControls(true);
// Enable pinch to zoom without the zoom buttons
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) {
// Hide the zoom controls for HONEYCOMB+
mWebView.getSettings().setDisplayZoomControls(false);
}
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH)
mWebView.getSettings().setTextZoom(100);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
mWebView.loadUrl(mBean.content);
setJavaScriptEnabled를 true 하는 것만으로 Alert창이 뜨지 않습니다.
WebView를 ChromeClient로도 사용을 해야 Alert창이 뜨게 됩니다.
즉, ChromeClient의 콜백 함수를 통해 Alert 창이 뜨게 되는 거죠.
아래 함수를 보겠습니다.
mWebView.setWebChromeClient(new WebChromeClient(){
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
return super.onJsAlert(view, url, message, result);
}
});
onJsAlert 콜백 함수가 WebView에서 Alert창을 호출 했을때 넘어오게 됩니다.
이때 부모 클래스인 WebChromeClient에서 Dialog를 띄어주게 되는 거죠.
즉, Web Dialog가 아니라 App Dialog가 뜨는 겁니다.
참고로!!
setWebViewClient를 해주면, WebView에 웹페이지를 출력하게 됩니다.
setWebViewClient를 사용하지 않으면 브라우저 선택창이 뜨게 되는 거죠.
그래서 아래와 같이 setWebChromeClient와 setWebViewClient를 같이 설정을 하면
WebView 상에서 Chrome 브라우저와 같은 동작이 이뤄지게 되는거죠.
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
참고하세요.
출처: https://gogorchg.tistory.com/entry/Android-WebView에서-Javascript-Alert-창이-보이지-않을-때 [항상 초심으로]
반응형
'개발 > android & ios' 카테고리의 다른 글
[안드로이드/Android] 권한 체크하기 [펌] (0) | 2020.07.09 |
---|---|
Android 9.0이상에서 foreground service 퍼미션 (0) | 2020.07.09 |
[Android] 안드로이드_단말기(디바이스) 정보 가져오기(TelephonyManager ) [펌] (0) | 2020.07.06 |
[Android] 안드로이드 내 휴대폰(디바이스) 번호 가져오기 [펌] (0) | 2020.07.06 |
[Android] FCM (Firebase Cloud Messaging) 구현 [펌] (0) | 2020.07.05 |
Comments