문의 시 사용하시는 SDK 버전 정보를 알려주세요 : 31
fun kakaoLogin(){
if (UserApiClient.instance.isKakaoTalkLoginAvailable(this)) {
UserApiClient.instance.loginWithKakaoTalk(this) { token, error ->
if (error != null) {
Log.e(ContentValues.TAG, "카카오톡으로 로그인 실패", error)
// 사용자가 카카오톡 설치 후 디바이스 권한 요청 화면에서 로그인을 취소한 경우,
// 의도적인 로그인 취소로 보고 카카오계정으로 로그인 시도 없이 로그인 취소로 처리 (예: 뒤로 가기)
if (error is ClientError && error.reason == ClientErrorCause.Cancelled) {
return@loginWithKakaoTalk
}
// 카카오톡에 연결된 카카오계정이 없는 경우, 카카오계정으로 로그인 시도
UserApiClient.instance.loginWithKakaoAccount(this, callback = callback)
} else if (token != null) {
Log.i(ContentValues.TAG, "카카오톡으로 로그인 성공 ${token.accessToken}")
}
}
} else {
UserApiClient.instance.loginWithKakaoAccount(this, callback = callback)
}
}
val callback: (OAuthToken?, Throwable?) -> Unit = { token, error ->
if (error != null) {
Log.e(ContentValues.TAG, "카카오계정으로 로그인 실패", error)
} else if (token != null) {
Log.i(ContentValues.TAG, "카카오계정으로 로그인 성공 ${token.accessToken}")
}
}
}
override fun onStart() {
if (!AuthApiClient.instance.hasToken()) {kakaoLogin()}
}
이렇게 코드를 작성해서 액티비티가 실행될때 로그인 정보가 없으면 카카오톡 로그인을 하게 하는데요, 카카오톡 앱으로는 자꾸 올바른 비밀번호를 입력해도 실패했다고 뜨구요, 위 kakaologin 함수를
fun kakaoLogin(){
UserApiClient.instance.loginWithKakaoAccount(this, callback = callback)
}
로 카카오 계정으로 로그인하게 했을 때는 성공합니다… 이유가 뭔지 모르겟어요 ㅠㅠ