2017-06-29 113 views
0

我正在使用Facebook按鈕登錄項目。此按鈕位於LoginActivity中,一旦我登錄,它就會正確執行並將我啓動到預期的活動狀態。註銷Facebook會話和啓動登錄活動

問題在於該活動,因爲我有另一個Facebook按鈕來註銷會話。我希望在註銷應用程序後,我再次登錄活動。但它什麼都不做,只是改變了按鈕的狀態。

這是帶有必須帶我再次登錄活動的按鈕的活動代碼。

public class Main_Menu extends AppCompatActivity { 

    LoginButton mFacebookButton; 
    CallbackManager mCallBackManager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_menu_principal); 

     mCallBackManager = CallbackManager.Factory.create(); 
     mFacebookButton = (LoginButton)findViewById(R.id.fb_menu_button); 

     mFacebookButton.registerCallback(mCallBackManager, new FacebookCallback<LoginResult>() { 
      @Override 
      public void onSuccess(LoginResult loginResult) { 
       LoginManager.getInstance().logOut(); 
       goLoginActivity(); 

      } 

      @Override 
      public void onCancel() { 
      } 

      @Override 
      public void onError(FacebookException error) { 

      } 
     }); 
    } 

    private void goLoginActivity() { 
     Intent i = new Intent(Main_Menu.this, LoginActivity.class); 
     i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     finish(); 
     startActivity(i); 
    } 

    @Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
     System.exit(0); 
    } 
} 

如何才能啓動登錄活動? 問候!

回答

0

爲什麼ü再次創建Facebook的默認按鈕乾脆把按鈕,並從它 //註銷檢查用戶是否在

if (AccessToken.getCurrentAccessToken() != null && com.facebook.Profile.getCurrentProfile() != null){ 
     //Logged in so show the login button 
     fb.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       LoginManager.getInstance().logOut(); 
       gotoLogin(); 
      } 
     }); 
    } 
+0

我認爲這是可能的Facebook的按鈕,退出當前登錄,但它像你說的那樣工作!非常感謝! –