7

這是我登錄Facebook的代碼。從我的應用登錄到Facebook在仿真器上工作,但不在設備上

mLoginButton = (LoginButton) findViewById(R.id.login); 

     // restore session if one exists 
     SessionStore.restore(Utility.mFacebook, this); 
     SessionEvents.addAuthListener(new FbAPIsAuthListener()); 
     SessionEvents.addLogoutListener(new FbAPIsLogoutListener()); 

     /* 
     * Source Tag: login_tag 
     */ 
     mLoginButton.init(this, AUTHORIZE_ACTIVITY_RESULT_CODE, Utility.mFacebook, permissions); 

     if (Utility.mFacebook.isSessionValid()) { 
      requestUserData(); 
     } 
public class FbAPIsAuthListener implements AuthListener { 

     //@Override 
     public void onAuthSucceed() { 
      requestUserData(); 
     } 

     //@Override 
     public void onAuthFail(String error) { 
      mText.setText("Login Failed: " + error); 
     } 
    } 

    /* 
    * The Callback for notifying the application when log out starts and 
    * finishes. 
    */ 
    public class FbAPIsLogoutListener implements LogoutListener { 
     //@Override 
     public void onLogoutBegin() { 
      mText.setText("Logging out..."); 
     } 

     ///@Override 
     public void onLogoutFinish() { 
      mText.setText("You have logged out! "); 
      mUserPic.setImageBitmap(null); 
     } 
    } 

在模擬器上,它的工作原理非常完美。我已經嘗試了三種設備,已經安裝了facebook,這是問題所在。

它只是在加載時旋轉,它什麼都不做。我再次看到登錄按鈕。 然後,我試圖從原始的Facebook應用程序註銷,當按下我的應用程序上的登錄按鈕時,我看到登錄窗口,但現在我已經看到登錄模擬器時,但原來的Facebook應用程序的登錄窗口。像是已經開始這一個。

我使用的代碼是從hackbook.java

+0

您是否像在設備上一樣在模擬器上安裝了Facebook應用程序?另外,目前android sdk存在問題,因爲它在[Platform Status](http://developers.facebook.com/live_status/)中聲明。您也可以嘗試運行網絡嗅探器來檢查模擬器中未安裝響應 – 2012-04-20 16:31:59

+0

。 – 2012-04-20 16:39:42

回答

3

採取的平臺狀態說,有與SSO問題。

SSO只有在Android設備上安裝了facebook應用程序時纔有效,並且您描述的內容適合所有這些。 在模擬器上,您沒有facebook應用程序,所以當您的應用程序嘗試登錄用戶時,使用它在sdk中的對話框而不是使用fb應用程序附帶的SSO進程。

在設備上,你怎麼說你有fb應用程序,所以SSO開始使用,至少目前存在問題。 嘗試卸載設備上的Facebook應用程序或可能只是取消SSO,即:How to disable Facebook single sign on for android - Facebook-android-sdk

+0

如果我打開它,它會運行,但事情是,普通用戶顯然不會卸載原來的Facebook應用程序來安裝我的。 – 2012-04-20 18:41:16

+0

顯然,我只是建議要確保你的問題是由於facebook與SSO有關的問題引起的。現在我們知道這是你無能爲力的問題,但要等到他們解決問題。與其他API一起使用會帶來風險。 – 2012-04-20 18:46:24

+0

這個或任何修補程序的任何特定解決方案? – 2014-08-09 08:51:59

0

您需要生成系統的哈希鍵,並通過編輯現有的Facebook應用程序來放置它。

相關問題