.ApprovalType.toString() null 에러

안드로이드 앱 카카오 SDK를 기존에 1.2.1버전을 사용하다가 webview 보안으로 인하여 구글플레이스토어에 경고표시가 있길래 1.14.0 새로운 카카오 SDK로 업데이트를 하였습니다. 카카오톡 로그인시 로그인이 되지 않고 아래와 같은 에러가 출력이 되며 앱이 종료가 됩니다. 혹시 어떻게 해야할지 팁이나 가이드를 알려주시면 감사하겠습니다.

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.kakao.auth.ApprovalType.toString()' on a null object reference

at com.kakao.auth.authorization.accesstoken.DefaultAccessTokenManager.requestAccessTokenByAuthCode(DefaultAccessTokenManager.java:62)
at com.kakao.auth.Session.internalOpen(Session.java:551)
at com.kakao.auth.Session.onAuthCodeReceived(Session.java:724)
at com.kakao.auth.Session.access$800(Session.java:54)
at com.kakao.auth.Session$4.onAuthCodeReceived(Session.java:635)
at com.kakao.auth.authorization.authcode.KakaoAuthCodeManager.onAuthCodeReceived(KakaoAuthCodeManager.java:249)
at com.kakao.auth.authorization.authcode.WebAuthCodeService.onWebViewCompleted(WebAuthCodeService.java:58)
at com.kakao.auth.authorization.authcode.WebAuthCodeService.onReceivedResult(WebAuthCodeService.java:100)
at com.kakao.auth.authorization.authcode.WebAuthCodeService$1.onReceiveResult(WebAuthCodeService.java:107)
at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6247)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)

KakaoSDK#init() 호출하시는 부분 코드 혹시 첨부 가능하실까요?

KakaoAdapter의 getSessionConfig()가 리턴하는 ISessionConfig의 getApprovalType() 메소드가 null을 리턴해서 그런 것 같아요. 원래 SDK에서 방어코드가 있어야 하는데 이 부분이 빠져있네요. getApprovalType()이 ApprovalType.INDIVIDUAL 을 리턴하도록 수정 후 시도해 보시겠어요?

네 기존에는 코드가 아래처럼 null을 리턴을 해주었는데요

@Override
public ApprovalType getApprovalType() {
return null;
}

지금은 return ApprovalType.INDIVIDUAL 로 해주니 잘작동하네요! 감사합니다!

버그 때문에 코드 수정을 요청드리게 되서 죄송합니다… ㅋㅋㅋ

1개의 좋아요

아닙니다 좋은답변 감사합니다!