2012-11-21 45 views
0

我跟着本教程http://www.androidhive.info/2012/03/android-facebook-connect-tutorial/將Facebook連接到我的Android應用程序。我有一個用於登錄和註銷的按鈕,而不是有很多按鈕。爲什麼Facebook登錄頁面在我登錄Android後嘗試重新登錄時未顯示?

1)我第一次運行該課程時,我可以登錄併成功註銷。當我點擊相同的按鈕再次登錄時,登錄頁面將不會出現,但Toast文本「LOGGING IN」出現,這是loginToFacebook()函數在我的if-else之後。因此,我假設,它應該像我第一次運行該課程一樣運行Facebook登錄頁面。但登錄頁面不顯示。

我做錯了什麼?我該怎麼做?

2)如何在登錄後在String fbLoggedIn中顯示用戶名,而不是文本「CONNECTED !!」 ?爲了更清楚起見,我設置了我的if-else就像這樣(從上面的完整代碼中提取)。

RelativeLayout fbButton = (RelativeLayout) findViewById(R.id.fbLayout); 
    fbButton.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      if (!facebook.isSessionValid()) 
      { 
      System.out.println("Not Connected. Clicked and Login.");  
      loginToFacebook(); 
      Toast.makeText(getApplicationContext(), "LOGGING IN", Toast.LENGTH_LONG).show();} 

      else 
      { 
      System.out.println("Connected. Logged Out."); 
      logoutFromFacebook(); 
      Toast.makeText(getApplicationContext(), "LOGGED OUT", Toast.LENGTH_LONG).show();} 
     } 
    }); 

回答

0

這是Facebook希望你把他們API.Your登錄方法檢查,看看是否已經在一次和Facebook的會話是活動的簽署行爲。如果會話處於活動狀態,則會設置facebook對象的屬性並將其連接到sences後面,以便登錄頁面不會再顯示。

所以你沒有做錯任何事情,它會以這種方式發生。

+0

謝謝您的明確解釋。所以如果我想讓登錄頁面再次出現,我將不得不終止會話? –

+0

是的。只需在活動結束時或您的活動需要重置並且應該再次出現時手動調用您的註銷方法。 – zabawaba99

+0

我該怎麼做?你能告訴我一些例子嗎? –

相關問題