수고하십니다…
카카오톡 로그인 API를 사용중인데요…
카카오톡 sample code를 사용하던 중에
로그인 관련 이슈가 생겨서 문의 드립니다…
문제 상황은 아래와 같습니다.
- 로그인 버튼 클릭
- 로그인 선택 화면 호출
-카카오톡으로 간편로그인
-다른 카카오계정으로 로그인
- 취소 버튼 클릭
- ISessionCallback으로 호출이 되지 않습니다…
질문 사항 입니다.
취소버튼을 눌럿을때 Callback을 받고싶은데 어떻게 구현해야 하는 건가요?
답변 부탁드립니다.(sample code)
callback을 등록을 하셨는지요.
아래의 onCreate에 있는 코드처럼 callback을 등록을 해 주셔야 합니다.
public class SampleLoginActivity extends Activity {
private SessionCallback callback;
/**
* 로그인 버튼을 클릭 했을시 access token을 요청하도록 설정한다.
*
* @param savedInstanceState 기존 session 정보가 저장된 객체
*/
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_common_kakao_login);
callback = new SessionCallback();
Session.getCurrentSession().addCallback(callback);
Session.getCurrentSession().checkAndImplicitOpen();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (Session.getCurrentSession().handleActivityResult(requestCode, resultCode, data)) {
return;
}
super.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onDestroy() {
super.onDestroy();
Session.getCurrentSession().removeCallback(callback);
}
private class SessionCallback implements ISessionCallback {
@Override
public void onSessionOpened() {
redirectSignupActivity();
}
@Override
public void onSessionOpenFailed(KakaoException exception) {
if(exception != null) {
Logger.e(exception);
}
}
}
protected void redirectSignupActivity() {
final Intent intent = new Intent(this, SampleSignupActivity.class);
startActivity(intent);
finish();
}
}
1개의 좋아요
예제와 같이 등록하였습니다.
카카오톡으로 간편로그인을 선택한 다음에 취소를 누르면 callback이 오지만
로그인 선택화면에서만 취소를 눌러도 callback이 오지 않습니다.
아~ 선택화면에서는 취소를 눌러도 callback이 오지 않습니다. 정상 동작이에요~
선택화면에서 취소를 눌렀을때 아무런 콜백이 없다면
로그인 중이라는 UI를 넣지도 못하네요.
로그인 과정에서의 화면 깜박임 현상을 없애려고 카카오 로그인 진행중일때 화면을 반투명으로 어둡게 하고 프로그래스를 표시하려고 했는데
이 방법도 쓰지를 못하네요.
제발 화면 깜박임좀 없게 해주세요. 너무 스트레스 받네요. ㅠ.ㅠ
페이스북은 안그런데 왜 카카오만 이런지… ㅠ.ㅠ
안녕하세요 개발자님! 간편 로그인시 흰 화면이 깜빡이는 현상을 해결한 카카오톡 버전이 12월 중으로 나갈 예정입니다. 로그인 방법을 선택하는 Dialog의 디자인도 개선하였으니 조금만 기다리시면 될 것 같아요~ 스트레스가 사라지셨으면 좋겠네요