카카오톡이 깔려있는데, 로그인이 되지 않았을 경우에 loginWithKakaoTalk을 이용해 로그인을 시도하면 302에러가 나오는데 그럴겅우에는 아래 코드처럼 302의 경우에 예외처리를 어떻게 할지 만들면된다.
if (error.toString().contains("statusCode=302")) {
loginWithKakaoAccount()
}
이하 콜백 코드 전문
val callback: (OAuthToken?, Throwable?) -> Unit = { token, error ->
if (error != null) {
Log.e("TAG", "로그인 실패", error)
if (listener != null)
listener!!.onKakaoLoginResult(null)
if (error.toString().contains("statusCode=302")) {
loginWithKakaoAccount()
}
} else if (token != null) {
Log.i("TAG", "로그인 성공 ${token.accessToken}")
UserApiClient.instance.me { user, error ->
if (error != null) {
Log.e("TAG", "사용자 정보 요청 실패", error)
} else if (user != null) {
Log.i(
"TAG", "사용자 정보 요청 성공" +
"\n회원번호: ${user.id}" +
"\n이메일: ${user.kakaoAccount?.email}" +
"\n닉네임: ${user.kakaoAccount?.profile?.nickname}" +
"\n프로필사진: ${user.kakaoAccount?.profile?.thumbnailImageUrl}"
)
this.user = user
if (listener != null)
listener!!.onKakaoLoginResult(user)
}
}
}
}
'프로그래밍 > Android' 카테고리의 다른 글
[Android] TableLayout (0) | 2023.04.17 |
---|---|
[Android] Dialog 중복생성 방지 (0) | 2023.04.14 |
[Android] 카카오 API, 로그인시 확인하고 계속하기를 눌러도 넘어가지 않을때 (0) | 2023.03.30 |
[Android] 위젯 만들기 (0) | 2023.03.20 |
[Android] 클래스 목록중에서 확장자가 표시되고 아이콘이 제대로 안나오는 현상 (0) | 2023.03.16 |
댓글