안드로이드 웹뷰 이용할 때 자바스크립트와 연동하는 방법


Activity 나 Fragment에 WebView 붙여놓고 진행합니다. webView 라는 이름으로 바인딩했다고 가정합니다.

이 webView에서 자바스크립트를 사용하도록 설정합니다.

webView.settings.javaScriptEnabled = true

WebAppInterface 클래스를 설정합니다. 아래 예는 웹 페이지의 자바스크립트가 호출할 수 있는 함수 showToast()를 만드는 예입니다.

class WebAppInterface(private val mContext: Context) {
    @JavascriptInterface
    fun showToast(toast: String) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show()
    }
}

webView 내에서 "android"라는 이름으로 WebAppInterface에 접근할 수 있도록 설정해 줍니다.

webView.addJavascriptInterface(WebAppInterface(this), "android")

webView에 로드된 웹 페이지 내의 자바스크립트는 아래 방법으로 showToast()함수를 호출할 수 있습니다.

android.showToast("Hi!!");

앱에서 웹뷰 내의 자바스크립트 함수(myFunction)를 호출하는 방법은 아래와 같습니다.

webView.loadUrl("javascript:myFunction("+변수+")")


답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다