카테고리 없음

[안드로이드] 3. WebView 웹뷰 - 페이지 탐색 처리 (Kotlin)

디벨로펄 2023. 3. 12.
반응형

참고 : https://developer.android.com/guide/webapps/webview?hl=ko 

 

WebView에서 웹 앱 빌드  |  Android 개발자  |  Android Developers

WebView에서 웹 앱 빌드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 웹 애플리케이션 또는 웹페이지만 클라이언트 애플리케이션의 일부로 제공하려는 경

developer.android.com

naver, youtube로 loadUrl을 하자, 각자의 앱이 열리게 되었다.

WebView내에서만 보고 싶은 경우 간단한 설정으로 가능하다.

val myWebView= binding.webview
myWebView.loadUrl("https://www.naver.com")

myWebView.webViewClient = WebViewClient() // 웹 뷰 내에서 naver, youtube가 열리도록 설정.

WebViewClient를 따로 설정하지 않으면, 안드로이드 시스템 내 default client를 사용하는 듯하다.

default WebViewClient에는 naver, youtube 등의 url이 저장되어 있고, 해당 url이 input으로 들어오면

자동으로 해당 어플을 open하는 로직.

 

 

 goBack() 및 goForward()로 방문기록을 통해 앞뒤로 탐색 가능.

canGoBack(), canGoForward(). 

이걸 구현하려면 myWebView전역 변수로 선언해야한다.

override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
        // Check if the key event was the Back button and if there's history
        if (keyCode == KeyEvent.KEYCODE_BACK && myWebView!!.canGoBack()) {
            myWebView!!.goBack()
            return true
        }
        if (keyCode == KeyEvent.KEYCODE_FORWARD && myWebView!!.canGoForward()) {
            myWebView!!.goForward()
            return true
        }
        // If it wasn't the Back key or there's no web page history, bubble up to the default
        // system behavior (probably exit the activity)
        return super.onKeyDown(keyCode, event)
    }

 

반응형

댓글