반응형
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 | 31 |
Tags
- java
- 안드로이드
- 개발
- 내 맘대로 정리한 안드로이드
- DataBinding
- 카페오냥
- Kotlin
- Unity
- 티스토리
- Android
- 안드로이드개발
- github
- 서브모듈 pull
- gitlab submodule
- github submodule
- submodule sourcetree
- firebase
- 서브모듈 sourcetree
- 게임개발
- 앱개발
- 안드로이이드 submodule
- 코틀린
- 타이쿤
- 쿼터뷰
- 2d게임
- Android Studio
- 앱
- 목서버
- GIT
- 유니티
Archives
- Today
- Total
Uing? Uing!!
[안드로이드 팁] WebView에서 window.close() 이벤트 받아서 창 닫기 본문
반응형
WebView
모바일 웹은 javascript를 기반으로 동작한다.
웹뷰는 이런 모바일웹을 안드로이드 앱 내에서 보여주는 View이다.
기본적으로 html, css, js를 기반으로 만들어져 있는 만큼,
안드로이드 네이티브 코드에서는 수정할 수 있는 부분이 거의 없다.
단지 웹뷰 내에서의 몇몇 이벤트를 인식하고 반응하는 정도의 활용이 가능하다.
WebView의 close 이벤트를 인식하지 못하는 경우
웹뷰에서는 분명히 window.close()가 호출되고 있는데, 안드로이드 화면에서 웹뷰가 닫히지 않는 경우가 있다.
웹뷰 안에서 다른 창을 여는 경우에 이런 상황이 발생하게 된다.
이를 해결하기 위해서는 아래처럼 웹뷰에 webChromeClient를 달아 주고,
onCloseWindow를 오버라이딩하여 화면을 닫아 주면 된다.
webView.setWebChromeClient(WebChromeClient(){
override fun onCloseWindow(window: Window) {
super.onCloseWindow(window);
// 웹뷰 화면을 닫는다.
}
)
웹뷰 화면이 어떻게 구성되어 있냐에 따라 화면을 종료하는 로직이 달라질 수 있음을 염두에 두어서,
화면 닫기 부분은 주석으로 남겨 두었다.
반응형
'Android' 카테고리의 다른 글
[내 맘대로 정리한 안드로이드] dp와 sp: 폰트 크기로 무엇을 써야 하는가? (0) | 2021.03.30 |
---|---|
[안드로이드 삽질기록] java.lang.AbstractMethodError가 발생하는 경우 (0) | 2020.12.17 |
[안드로이드 팁] dp to px 변환하는 방법 (0) | 2020.12.13 |
[안드로이드 팁] Resources.getIdentifer(): 변수값을 조합해서 리소스 아이디 받아오기 (0) | 2020.12.11 |
[내맘대로 정리한 안드로이드] ANR(Application Not Responding)이란? (0) | 2020.11.28 |
Comments