카카오 로그인 Chrome 없는 경우, 크래시 발생

“com.kakao.sdk:v2-user:2.2.0”

// AuthCodeHandlerActivity

override fun onResume() {
    super.onResume()

    if (!customTabsOpened) {
        customTabsOpened = true

        if (this::fullUri.isInitialized) {
            openChromeCustomTab(fullUri) /** FIXME: 여기??? **/
        } else {
            sendError(ClientError(ClientErrorCause.IllegalState, "url has been not initialized."))
        }
    } else {
        SdkLog.i("trigger delay message")
        internalHandler?.hasMessages(0).let {
            if (it == false) {
                internalHandler?.sendEmptyMessageDelayed(0,100)
            }
        }
    }
}


private fun openChromeCustomTab(uri: Uri) {
    SdkLog.i("Authorize Uri: $uri")
    try {
        customTabsConnection = KakaoCustomTabsClient.openWithDefault(this, uri)
    } catch (e: UnsupportedOperationException) { /** TODO: 다른 오류도 감싸서 처리해야 할 듯 **/
        SdkLog.w(e)
        KakaoCustomTabsClient.open(this, uri)
    }
}

java.lang.RuntimeException: Unable to resume activity {package}/com.kakao.sdk.auth.AuthCodeHandlerActivity}: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=https://kauth.kakao.com/... (has extras) }

업무 프로필과 같은 환경처럼 Chrome이 설치되어있지 않은 경우 크래시 발생
ClientError 나 AuthError와 같이 서비스 오류로 막아야 할 것 같습니다

테스트는 2.2.0에서 했고, 2.4.0 버전에서는 ChromeCustomLauncherActivity로 보이는데 코드로는 수정된 것 같지는 않습니다.

안녕하세요? 공유 감사 드립니다.

확인 해보겠습니다.

안녕하세요?

디바이스에 브라우져가 없을 경우 재현 되네요.(크롬은 삭제가 안되서 사용 중지)

공유 감사합니다.

수정후 배포 하도록 하겠습니다.

1개의 좋아요

네, 감사합니다.
SDK에서 발생하는 크래시는 막을 방법이 없기에, 리포팅하게 되었습니다. :+1:

안녕하세요? 2.4.1 배포에 수정 되었습니다.

1개의 좋아요