코틀린] 카카오채널 1:1, 하이브리드

웹에 만들어놓은 카카오톡 채널 1:1채팅 버튼을 눌러도 아무 반응이 되질않고
shouldOverrideUrlLoading에 로그를 찍어봐도 하나도 안나오는 상태입니다.

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

    val webView : WebView = findViewById(R.id.webview)
    webView.loadUrl("https://m.test.co.kr:474")

// val mContainer : FrameLayout = findViewById(R.id.webview_frame)

// val webViewLayout : LinearLayout = findViewById(R.id.con)
// val webViewLayout = getSystemService(LAYOUT_INFLATER_SERVICE) as LayoutInflater
// webViewLayout.inflate(R.layout.activity_main, webView, true)

// 공통 설정
webView.settings.run {
javaScriptEnabled = true
javaScriptCanOpenWindowsAutomatically = true
setSupportMultipleWindows(true)
}

    webView.webViewClient = object: WebViewClient() {

        override fun shouldOverrideUrlLoading(view: WebView,request: WebResourceRequest): Boolean {
            Log.d(TAG, request.url.toString())
            if (request.url.scheme == "intent") {
                try {
                    // Intent 생성
                    val intent = Intent.parseUri(request.url.toString(), Intent.URI_INTENT_SCHEME)

                    // 실행 가능한 앱이 있으면 앱 실행
                    if (intent.resolveActivity(packageManager) != null) {
                        startActivity(intent)
                        Log.d(TAG, "ACTIVITY: ${intent.`package`}")
                        return true
                    }

                    // Fallback URL이 있으면 현재 웹뷰에 로딩
                    val fallbackUrl = intent.getStringExtra("browser_fallback_url")
                    if (fallbackUrl != null) {
                        view.loadUrl(fallbackUrl)
                        Log.d(TAG, "FALLBACK: $fallbackUrl")
                        return true
                    }

                    Log.e(TAG, "Could not parse anythings")

                } catch (e: URISyntaxException) {
                    Log.e(TAG, "Invalid intent request", e)
                }
            }

            // 나머지 서비스 로직 구현

            return false
        }
    }
}