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("+변수+")")