새소식

mobile/🦖 Android

[Kotlin, android] webview에서 Alert가 안되는 오류 해결 방법

728x90

안녕하세요. 팀드모네입니다.

오늘은 webview에서 Alert가 동작하지 않는 문제 해결 방법에 대해서 공유드립니다.

웹뷰 세팅에서 javascript를 사용할 수 있도록 설정해도 Alert가 되는 것은 다른 문제입니다. onJsAlert를 사용하여 처리하는 방법도 있으나, 그냥.. 심플하게 처리하겠습니다. Alert의 디자인적 커스텀이 필요하시면, onJSAlert말고 SweetAlert2 등 Modal로 승부하는 것이 개인적으로 옳다고 판단됩니다.

 

1. webview에서 Alert가 되도록 설정

1.1 웹뷰 세팅 추가

-> webview에 WebChromeClient() 옵션을 추가하시면 됩니다.

webView.setWebChromeClient(WebChromeClient())

 

1.2 소스코드 전문

혹시 몰라, webView 관련 onCreate 코드까지 첨부드립니다. 작업에 도움이 되시길 바랍니다. 

override fun onCreate(savedInstanceState: Bundle?) {

    // 와이파이 & 데이터 연결되어 있으면 웹뷰 생성
    if(getNetworkConnected(applicationContext) ) {

        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        webView = findViewById<WebView>(R.id.main_web_view)
        webView.webViewClient = WebViewClient()
        webView.setWebChromeClient(WebChromeClient())
        webView.settings.javaScriptEnabled = true
        webView.addJavascriptInterface(bridge, "AndroidBridge")
        webView.getSettings().setUserAgentString("Chrome/56.0.0.0 Mobile");
        bridge.setListener(this)
        webView.loadUrl("https://test.com")
    } else {
        // 인터넷 연결 되어 있지 않을 때 (셀룰러/와이파이)
        showToast("인터넷 연결 상태를 확인해주세요.");
        finish() // Activity 종료
    }
}

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.