웹에 만들어놓은 카카오톡 채널 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
}
}
}