2017-04-10 117 views
1

我正在實施一個Facebook登錄與Android上的Facebook SDK。安卓Facebook登錄總是在註銷後詢問用戶

compile 'com.facebook.android:facebook-android-sdk:4.+' 

我在與用戶登錄時

 callbackManager = CallbackManager.Factory.create(); 
     loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
     .. 
     } 

而對於登出我用我自己的退出按鈕,程序註銷用戶:

 LoginManager.getInstance().logOut(); 

我問題是:

註銷後,當我點擊「繼續使用f acebook「以前的用戶信息彈出到」Continue As XY「。我不想要這個。如果有人希望在註銷後登錄,我想每次都要再次詢問電子郵件和密碼。我怎樣才能做到這一點?

回答

0

其實我找到了解決方案。我改變了FB登錄按鈕的登錄行爲,爲此我用:

loginButton.setLoginBehavior(LoginBehavior.WEB_ONLY); 

所以每次它彈出登錄按鈕的WEB視圖。

0

如果有人希望 登錄後再次登錄,我想每次都要求電子郵件,密碼。

onCreate()

FacebookSdk.sdkInitialize(getApplicationContext()); 
callbackManager = CallbackManager.Factory.create(); 
updateWithToken(AccessToken.getCurrentAccessToken()); //add this method 

updateWithToken()方法試試這個現在logout從以前的會話的用戶

private void updateWithToken(AccessToken currentAccessToken) { 

    if (currentAccessToken != null) { 
     LoginManager.getInstance().logOut(); 
    } else { 
    } 
} 

編輯

,如果你想從完全斷開用戶Facebook的登錄使用:

public void disconnectFromFacebook() { 

    if (AccessToken.getCurrentAccessToken() == null) { 
     return; // already logged out 
    } 

    new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest 
      .Callback() { 
     @Override 
     public void onCompleted(GraphResponse graphResponse) { 

      LoginManager.getInstance().logOut(); 

     } 
    }).executeAsync(); 
} 
+0

它沒有工作。我仍然得到「繼續作爲XY」。這可能是因爲當我點擊LoginButton時,它會將我登錄到本機Facebook應用程序。但是當我點擊LogOut,並沒有從tha Native Facebook App註銷我。 –

+0

@BalázsLombosi..i編輯了答案.. – rafsanahmad007

+0

我還沒有註銷原生Facebook應用程序。如果我點擊「Contine with facebook」,仍然會獲得相同的用戶。 –