안녕하세요.
Kakao API를 처음 사용해서 3rd party 앱을 개발 중 입니다.
사용자 관리를 통해 사용자의 email 을 가지고 오려고 합니다.
Kakao Dev. 설정->사용자 관리 에서 개인정보보호 항목에서 이메일도 필수 항목으로 설정 했습니다.
그리고 나서 API 문서의 “사용자 정보 요청” 에 있는 샘플 코드처럼 첨부 코드를 만들었습니다.
그런데 UserManagement.requestMe 메소드의 파라미더로 propertyKeys를 넣으면
항상 “E/ViewRootImpl: sendUserActionEvent() mView == null” 에러가 발생 합니다.
callback 한개만 파라미터로 설정하면 아무 문제 없이 SuccessActivity가 실행 됩니다.
검색해보니 갤럭시 폰만의 버그라는 말도 있고, 해결책을 따라 해보았지만 개선되지 않았습니다.
다른 방법이 있을까요?
감사합니다.
public SessionCallback(){
propertyKeys = new ArrayList<String>();
propertyKeys.add("kaccount_email");
propertyKeys.add("nickname");
propertyKeys.add("profile_image");
propertyKeys.add("thumbnail_image");
}
@Override
public void onSessionOpened() {
UserManagement.requestMe(new MeResponseCallback() {
@Override
public void onFailure(ErrorResult errorResult) {
String message = "failed to get user info. msg=" + errorResult;
Logger.d(message);
ErrorCode result = ErrorCode.valueOf(errorResult.getErrorCode());
if (result == ErrorCode.CLIENT_ERROR_CODE) {
finish();
} else {
//redirectMainActivity();
}
}
@Override
public void onSessionClosed(ErrorResult errorResult) {
}
@Override
public void onNotSignedUp() {
}
@Override
public void onSuccess(UserProfile userProfile) {
Log.e("UserProfile", userProfile.toString());
Intent intent = new Intent(LoginActivity.this, SuccessActivity.class);
startActivity(intent);
finish();
}
}, propertyKeys, false);
}
@Override
public void onSessionOpenFailed(KakaoException exception) {
}