public void logout() { UserManagement.requestLogout( new LogoutResponseCallback() { @Override public void onCompleteLogout() { onSettingListener.redirectLogin(); } }); }
/** 사용자의 상태를 알아 보기 위해 me API 호출을 한다. */ protected void requestMe() { UserManagement.requestMe( new MeResponseCallback() { @Override public void onFailure(ErrorResult errorResult) { String message = "failed to get user info. msg=" + errorResult; Logger.d(message); if (errorResult.getErrorCode() == ErrorCode.CLIENT_ERROR_CODE) { KakaoToast.makeToast( getApplicationContext(), getString(R.string.error_message_for_service_unavailable), Toast.LENGTH_SHORT) .show(); finish(); } else { redirectLoginActivity(); } } @Override public void onSessionClosed(ErrorResult errorResult) { redirectLoginActivity(); } @Override public void onSuccess(UserProfile userProfile) { Logger.d("UserProfile : " + userProfile); redirectMainActivity(); } @Override public void onNotSignedUp() { showSignup(); } }); }
/** 사용자의 상태를 알아 보기 위해 me API 호출을 한다. */ protected void requestMe() { 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) { // KakaoToast.makeToast(getApplicationContext(), // getString(R.string.error_message_for_service_unavailable), // Toast.LENGTH_SHORT).show(); finish(); } else { redirectLoginActivity(); } } @Override public void onSessionClosed(ErrorResult errorResult) { redirectLoginActivity(); } // 로그인 성공시 , DB에 정보 저장 하기 @Override public void onSuccess(UserProfile userProfile) { String log = "jjunest"; Log.d(log, "in requestME()"); Log.d(log, "UserProfile : " + userProfile); Log.d(log, "UserId :" + userProfile.getId()); Log.d(log, "UserState : " + userProfile.getProperty("nickname")); Log.d(log, "Created : " + userProfile.getProperty("created")); Log.d(log, "nickName : " + userProfile.getNickname()); // masterinfo.setMasterID(String.valueOf(userProfile.getId())); String userId = String.valueOf(userProfile.getId()); boolean FirstLogin = false; try { FirstLogin = new CheckFirstLogin().execute(userId).get(); } catch (Exception e) { e.printStackTrace(); } // 만약에 접속이 처음이라면? -> 이름 / 전화번호 / 은행이름(선택) / 계좌번호 (선택) 정보 입력 받는 화면 //FirstLoginPage에서 // MasterInfo 설정 if (FirstLogin) { Log.d(log, "this is FirstLogin();"); Intent FirstLoginIntent = new Intent(getApplicationContext(), FirstLoginPage.class); FirstLoginIntent.putExtra("kakao_Userid", String.valueOf(userProfile.getId())); startActivityForResult(FirstLoginIntent, FirstLoginREQUEST_CODE); } // 만약에 이미 DB에 아이디가 있으면? 1. DB에서 UserInfo를 받아와서 MasterInfo를 설정 2. MainActivity.java 바로 // 접속 else { Log.d(log, "this is NOT FirstLogin();"); new GetUserInfoFromDB().execute(String.valueOf(userProfile.getId())); // 정보를 받아올떄까지 잠시 멈추고 (추후에 progressbar로 만들자) 그 후에 MainActivity로 이동한다. try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } redirectMainActivity(); } } @Override public void onNotSignedUp() { showSignup(); } }); }