티스토리 뷰

오늘은 WebView에서 Javascript를 호출 할 경우에 catch하여서 클라이언트에서 처리하는 방법을 알아보려고 합니다.


앞에 글적은것들 보시면 참고가  되실겁니다.


Android WebView control 하기 (1/3) - WebViewClient

http://mrgamza.tistory.com/485


Android WebView control 하기 (2/3) - WebChromeClient

http://mrgamza.tistory.com/494


궁금하신점은 댓글 남겨주세요.


시작.


앞에 적은 두개의 글에 비하면 정말 아무것도 아닐수도 있습니다.

그렇지만 가장 많이 쓰는것 같기는 합니다.


이렇게 선언해주면 됩니다.


1
2
webView.settings.javaScriptEnabled = true
webView.addJavascriptInterface(JavascriptInterface(), "TestApp")
cs


저기에 보이는 TestApp은 Javascript에서 호출할 경우에 이름이라고 생각하시면 됩니다.


var name = window.TestApp.getName() 이런 식으로요


자 그럼... 클래스는 어떻게 되어 있을 까요..


1
2
3
4
5
6
7
private inner class JavascriptInterface {
 
    @android.webkit.JavascriptInterface
    fun getName(): String {
        return "test app"
    }
}
cs


이걸로 끝입니다. 다른 처리를 해줄 필요는 없습니다.

리턴형이 아니라 Unit형태일 경우에는 그냥 리턴만 하지 않으면 되겠죠?


즐거운 코딩 되세요. ㅎ 적을게 없네요.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함