간단하게 구글 페이지를 띄우는 webview를 만들었는데 버튼 클릭이 안되는 경우와 검색을 하면 다른 연결 프로그램으로 이동하는 경우가 있었다. 버튼 클릭은 webview.settings에서 javaScriptEnabled를 true로 바꾸고, 다른 연결 프로그램으로 이동하는 건 WebViewClient를 추가하니 제대로 동작하였다.
val webView = findViewById<WebView>(R.id.webView)
val ws = webView.settings
ws.javaScriptEnabled = true
webView.apply {
webViewClient = object : WebViewClient() {
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
loadUrl(request?.url.toString())
return true
}
}
}?.run {
loadUrl(URL)
}