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()
    }

 

+ Recent posts