2011-11-30 78 views
2

我正在使用Facebook的Android SDK,通過在其中添加應用程序ID在模擬器中運行其提供的示例示例。Android Facebook的SDK - 牆上的對話框立即消失

問題是我能夠正確登錄,但是當我點擊「Wall Post」按鈕時,Facebook webview對話框打開類似於標題爲「Post on Wall」的登錄。該對話框在幾秒鐘後立即消失。

什麼可能是問題,我哪裏出錯了。編輯1: 它實際上是一個模擬器的問題。我已經在其他模擬器中測試過它的工作正常。但是現在在模擬器中成功的後牆FB webview對話框關閉後返回到應用程序,但在設備中它不。對話框停留在那裏顯示空白屏幕成功發帖編號

編輯2: 我也注意到這個對話框消失問題越來越v2.1(測試模擬器)。但它在v2.2及更高版本上正常工作(在仿真器和設備上測試)

回答

0

它不是模擬器的問題。但是它的一個問題,因爲你已經在該模擬器中安裝原生的facebookapp。

我得到同樣的問題,現在我已經解決了它。

你需要做的是:

剛去的Facebook SDK項目。然後去Facebook.java

現在在這裏,你會得到一個方法,如授權:

public void authorize(Activity activity, String[] permissions, 
     int activityCode, final DialogListener listener) { 

    boolean singleSignOnStarted = false; 

    mAuthDialogListener = listener; 

    THIS CODE IS EDITED BY SHREYASH FOR NOT ALLOW THE DEFAULT FACEBOOK APP 
    // Prefer single sign-on, where available. 
    if (activityCode >= 0) { 
     singleSignOnStarted = startSingleSignOn(activity, mAppId, 
       permissions, activityCode); 
    } 
    // Otherwise fall back to traditional dialog. 
    if (!singleSignOnStarted) { 
     startDialogAuth(activity, permissions); 
    } 
} 

只需更換上面下面這樣一個:

public void authorize(Activity activity, String[] permissions, 
      int activityCode, final DialogListener listener) { 

     boolean singleSignOnStarted = false; 

     mAuthDialogListener = listener; 

//  THIS CODE IS EDITED FOR NOT ALLOW THE DEFAULT FACEBOOK APP 
//  // Prefer single sign-on, where available. 
//  if (activityCode >= 0) { 
//   singleSignOnStarted = startSingleSignOn(activity, mAppId, 
//     permissions, activityCode); 
//  } 
//  // Otherwise fall back to traditional dialog. 
//  if (!singleSignOnStarted) { 
      startDialogAuth(activity, permissions); 
//  } 
    } 

這將切切實實解決您的問題。 如果沒有,然後讓我知道。

享受。

:)

相關問題