[사용자관리] 내용추가 - 세션 오픈시 카카오톡 앱을 설치+로그인 한 상태인 경우 콜백 처리를 할 수 있나요?

안녕하세요.

아래 코드를 이용하여 세션 오픈을 시도하고 accessToken을 가져와서 계정 관련 처리를 하려고 하는데요…

//세션 오픈 시도
//카카오 로그인 버튼을 이용한 세션 오픈이 아니라 특정 상황일 경우 세션 오픈을 시도하는 경우라서 open을 사용
Session.getCurrentSession().open(AuthType.KAKAO_TALK , Activity.this);

mKakaoSessionCallback = new KakaoSessionCallback();
Session.getCurrentSession().addCallback(mKakaoSessionCallback);
Session.getCurrentSession().checkAndImplicitOpen();

//세션 오픈 후 accessToken을 받아와 계정 관련 처리
private class KakaoSessionCallback implements ISessionCallback {

    @Override
    public void onSessionOpened() {
             Session.getCurrentSession().getAccessToken();
             //AccessToken을 가져와서 처리 후 화면 전환
    }


}

그런데 카카오톡 앱이 설치가 안된 경우에는 로그인 팝업에서 아이디, 패스워드를 입력하여 로그인 하면 KakaoSessionCallback의 onSessionOpened메서드를 타서 세션 오픈 후 처리가 가능한데…

카카오톡 앱이 설치 되어 있고 카카오톡 앱에 로그인 중일 경우에는 KakaoSessionCallback의 onSessionOpened메서드가 타지 않아서 이럴 때는 어떻게 처리해야 되는지 문의 드립니다.

세션 오픈을 시도하기 전에 뭔가 체크를 해서 다르게 처리해야 되는 것인지 … 또는 다른 방법이 있는지 궁금하네요…

================== ================== ================== ==================
[질문 내용 추가]
다시 보니 무조건 안되는건 아니고… 제가 구현한 로그인 화면에서는 카카오톡이 설치 되어있건 설치 안되어 있건
Session.getCurrentSession().open() 코드로 세션 오픈시 onSessionOpened 콜백이 타는데 웹뷰와 연동한 화면에서는 카카오톡이 설치 되어 있을 때는 onSessionOpened 콜백이 타지 않는 것 같습니다…
WebView에서 shouldOverrideUrlLoading 에 특정 Url이 들어오면 Session.getCurrentSession().open()을 호출하고 세션 오픈을 시도하는데 똑같은 조건인데도 안되는걸 보면 이상합니다… 도움 부탁드려요!!

해당 open이라는 method를 사용할때 카카오톡을 통해서 login 세션을 받아오기 위해선 onActivityResult를 구현해 주셔야 합니다. Sample 코드에 있으니 참고하시면 되지 않을까 싶네요.

1개의 좋아요

감사합니다. 그게 빠졌었군요!! ^^