3

내 기본 Android 앱에서 페이스 북 인증을 성공적으로 구현했습니다.Facebook Android SDK로 승인 된 Facebook 사용자를 전환하려면 어떻게해야합니까?

지금 나는 다음과 같은 문제가 있습니다 내 응용 프로그램에서

사용자 로그 아웃을하고 난 페이스 북 SDK 로그 아웃 메서드를 호출. 하지만 사용자가 로그인 버튼을 누르면 "이미 인증 됨"창이 표시되지 않고 자동으로 내 앱으로 리디렉션되므로 다른 사용자로 전환 할 수 없습니다.

정상적인 동작입니까 아니면 잘못 되었습니까? 이 문제를 어떻게 해결할 수 있습니까?

+1

혹시이 문제를 해결 했습니까? – BlueVoodoo

+0

사용자가 공식 페이스 북 앱을 사용하여 세션을 열면 안드로이드 앱에서 권한을 요청하지 않는 것으로 보입니다. 공식 FB 앱에서 세션을 닫으십시오. – cibercitizen1

+0

@BlueVoodoo 사용자는 "우리의 맞춤 앱"뿐만 아니라 전화의 공식 FB 앱에서 세션을 닫아야합니다. – cibercitizen1

답변

0

아니요 기본적으로 사용자를 전환 할 수 없습니다. 로그 아웃을하는 동안 자격 증명이 제대로 정리되지 않아 이러한 문제가 발생하지 않으므로 자격 증명을 완벽하게 제거해야합니다. 당신이 참조 할 수 있습니다, 다른 사용자로 전환하려는 경우

private class SessionListener implements AuthListener, LogoutListener { 

    @Override 
    public void onAuthSucceed() { 
     setImageResource(R.drawable.logout_button); 
     SessionStore.save(mFb, getContext()); 
    } 

    @Override 
    public void onAuthFail(String error) { 
    } 

    @Override 
    public void onLogoutBegin() { 
    } 

    @Override 
    public void onLogoutFinish() { 
     SessionStore.clear(getContext()); 
     setImageResource(R.drawable.login_button); 
    } 
} 
+0

Hackbook 샘플을 사용해 보았습니다. 그것은 같은 문제가 있습니다. 로그 아웃하고 다시 로그인하면 "이미 인증 된 화면"이 표시되지 않습니다. –

1

을 : 당신이해야

당신에게 SessionStore 클래스의 페이스 북 객체를 저장하고 적절하게 처리 할 수있는 모든 기능에 대한 HackBook code given by Facebook을 통해 얻었다 Facebook SDK for Android의 "SwitchUserSample"

다음은 몇 가지 예제 코드입니다.

Session currentSession = Session.getActiveSession(); 
currentSession.closeAndClearTokenInformation(); 
newSession = new Session.Builder(LoginActivity.this).build(); 
newSession.openForRead(new Session.OpenRequest(LoginActivity.this) 
          .setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO) 
          .setCallback(statusCallback)); 
관련 문제