안드로이드 스튜디오로 카카오톡 로그인을 하려고 하는데… Usermanagement.requestMe에서requestMe 에 빨간 줄이 그어지면서 Error:(32, 23) error: non-static method requestMe(MeResponseCallback) cannot be referenced from a static context 이런에러가 뜹니다…;;;
여러 선배 개발자 분들 코드 복붙했는데도 계속 …
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import com.kakao.auth.ApiResponseCallback;
import com.kakao.auth.ErrorCode;
import com.kakao.network.ErrorResult;
import com.kakao.usermgmt.UserManagement;
import com.kakao.usermgmt.callback.MeResponseCallback;
import com.kakao.usermgmt.response.model.UserProfile;
import com.kakao.util.helper.log.Logger;
public class KakaoSignupActivity extends Activity{
/**
* Main으로 넘길지 가입 페이지를 그릴지 판단하기 위해 me를 호출한다.
* @param savedInstanceState 기존 session 정보가 저장된 객체
*/
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestMe();
}
/**
* 사용자의 상태를 알아 보기 위해 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) {
finish();
} else {
redirectLoginActivity();
}
}
@Override
public void onSessionClosed(ErrorResult errorResult) {
redirectLoginActivity();
}
@Override
public void onNotSignedUp() {
} // 카카오톡 회원이 아닐 시 showSignup(); 호출해야함
@Override
public void onSuccess(UserProfile userProfile) { //성공 시 userProfile 형태로 반환
Logger.d("UserProfile : " + userProfile);
redirectMainActivity(); // 로그인 성공시 MainActivity로
}
});
}
private void redirectMainActivity() {
startActivity(new Intent(this, LoggedActivity.class));
finish();
}
protected void redirectLoginActivity() {
final Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);
finish();
}
}