반응형
참고 : 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)
}
반응형
댓글