“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로 보이는데 코드로는 수정된 것 같지는 않습니다.