API Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter currentAccessToken
페이스북 로그인 API 테스트중 아래와 같은 에러가 발생하였습니다.
원인은 제가 기존에 java로 구현되어있던 코드를 kotlin으로 변환하면서 변환된함수들의 nullable 파라미터를 non-nullable 타입으로 변경하면서 발생한 오류입니다.
override fun logout(onResultLogoutListener: LoginProvider.OnResultLogoutListener) {
object : AccessTokenTracker() {
override fun onCurrentAccessTokenChanged(
oldAccessToken: AccessToken,
currentAccessToken: AccessToken
) {
if (currentAccessToken == null) {
//write your code here what to do when user logout
if (onResultLogoutListener != null) {
onResultLogoutListener.onResult(0)
}
}
}
}
LoginManager.getInstance().logOut()
}
다음과 같이 파라미터 뒤에 ?를 붙여주어 해결하였습니다.
override fun logout(onResultLogoutListener: LoginProvider.OnResultLogoutListener) {
object : AccessTokenTracker() {
override fun onCurrentAccessTokenChanged(
oldAccessToken: AccessToken?,
currentAccessToken: AccessToken?
) {
if (currentAccessToken == null) {
//write your code here what to do when user logout
if (onResultLogoutListener != null) {
onResultLogoutListener.onResult(0)
}
}
}
}
LoginManager.getInstance().logOut()
}