Notice
Recent Posts
Recent Comments
Link
투케이2K
403. (kotlin/코틀린) webview canGoBack 웹뷰 뒤로 가기 페이지 이동 여부 체크 및 webview goBack 페이지 뒤로 가기 수행 본문
Kotlin
403. (kotlin/코틀린) webview canGoBack 웹뷰 뒤로 가기 페이지 이동 여부 체크 및 webview goBack 페이지 뒤로 가기 수행
투케이2K 2023. 8. 28. 13:06[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [모바일 키 이벤트 발생 체크 부분]
// -----------------------------------------------------------------------------------------
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
if (keyCode == KeyEvent.KEYCODE_BACK) { // TODO [모바일 디바이스의 뒤로가기 키 이벤트가 발생한 경우]
// ===============================================================
S_Log._F_(this@A_Webview, S_FinalMsg.LOG_Activity_onBackKey, null)
// ===============================================================
// TODO [더이상 웹뷰에서 뒤로갈 페이지가 없을 경우 이거나 특정 로드 주소인 경우]
if (main_webview!!.canGoBack() == false
|| main_webview!!.url == S_FinalData.WV_LOAD_NAVER_URL == true) {
S_Log._F_(this@A_Webview, S_FinalMsg.LOG_Webview_Close_Ing, arrayOf(
"canGoBack :: " + main_webview!!.canGoBack().toString(),
"webviewUrl :: " + main_webview!!.url.toString()
))
// ---------------------------------------------------------------
// [액티비티 종료 실시]
// ---------------------------------------------------------------
try {
finish()
overridePendingTransition(0, 0)
} catch (e: Exception) { }
// ---------------------------------------------------------------
} else { // TODO [뒤로갈 페이지가 있는 경우]
S_Log._F_(this@A_Webview, S_FinalMsg.LOG_Webview_Back_Ing, arrayOf(
"webviewUrl :: " + main_webview!!.url.toString()
))
// ---------------------------------------------------------------
// [웹뷰 뒤로 가기 실시]
// ---------------------------------------------------------------
try {
main_webview!!.goBack()
} catch (e: Exception) {
}
// ---------------------------------------------------------------
}
}
return true
}
반응형
'Kotlin' 카테고리의 다른 글
Comments