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();
          }
        });
  }
Beispiel #3
0
  /** 사용자의 상태를 알아 보기 위해 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();
          }
        });
  }