2010-11-18 42 views
6

我正在嘗試使用舊的Facebook連接身份驗證來驗證我的Android客戶端以獲取必要的會話ID和其他憑據,這些都需要開始使用Facebook的Web服務。Facebook的連接爲Android返回一個空白的登錄屏幕?

我遇到的問題是,當我的Android應用程序啓動並嘗試加載Facebook的登錄頁面時,該登錄頁面顯示爲空白,並且只顯示了facebook標誌作爲屏幕標題。

沒有登錄字段或按鈕可見,讓我無處登錄和認證用戶。

我已經嘗試了兩個API的一個是Facebook連接API爲android http://code.google.com/p/fbconnect-android/,另一個是官方android facebook sdk,推薦使用而不是前面提到的https://github.com/facebook/facebook-android-sdk/

請查看下面的圖片,瞭解它在我的應用中的外觀。

alt text

下面是採用了最新的Android SDK中的Facebook代碼:

/** 
* Authenticate facebook network 
*/ 
private void authenticateFacebook() { 
    // TODO: move this away from this activty class into some kind of 
    // helper/wrapper class 
    Log.d(TAG, "Clicked on the facebook"); 

    Facebook facebook = new Facebook(OAUTH_KEY_FACEBOOK_API); 

    facebook.authorize(this, new AuthorizeListener()); 
} 

class AuthorizeListener implements DialogListener{ 

    @Override 
    public void onComplete(Bundle values) { 
     // TODO Auto-generated method stub 
     Log.d(TAG, "finished authorizing facebook user"); 

    } 

    @Override 
    public void onFacebookError(FacebookError e) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onError(DialogError e) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onCancel() { 
     // TODO Auto-generated method stub 

    } 

} 

以及如何使用它的一個簡單的例子:http://developers.facebook.com/docs/guides/mobile/

我的代碼是或多或少相同上面的例子。

編輯:我沒有捕獲什麼logcat輸入在我的第一次嘗試在我的代碼上面,但他們沒有例外或在當時引發的警告。只是一個空白頁面。

然後我又試了一次,並diddnt摸我的代碼,以及現在的情況是,一個裝載對話視圖彈出並保持他們的幾分鐘,直到Facebook的窗戶在前看不見和logcat的輸出以下錯誤:

11-18 17:26:19.913: DEBUG/Facebook-WebView(783): Webview loading URL: https://www.facebook.com/dialog/oauth?type=user_agent&redirect_uri=fbconnect%3A%2F%2Fsuccess&display=touch&client_id=e ??????????????????? 11-18 17:27:01.756: DEBUG/Facebook-authorize(783): Login failed: com.kc.unity.agent.util.oauth.facebook.DialogError: The connection to the server was unsuccessful. 11-18 17:27:01.783: DEBUG/Facebook-WebView(783): Webview loading URL: https://www.facebook.com/dialog/oauth?type=user_agent&redirect_uri=fbconnect%3A%2F%2Fsuccess&display=touch&client_id= ???????????????

請注意,客戶端ID我已經修改了的原因很明顯,但logcat中的其餘部分不變

+0

logcat告訴你什麼? – stpn108 2010-11-18 15:51:04

+0

同一部手機上的網絡瀏覽器可以訪問http://www.facebook.com,並且您的應用程序是否具有INTERNET特權? – Yuliy 2010-11-18 18:13:51

+0

@sotapanna查看我的編輯。 logcat diddnt在我第一次嘗試它時返回任何異常。 @yuliy,是的我的應用程序有互聯網特權,也可以瀏覽facebook.com罰款。 – jonney 2010-11-19 08:28:22

回答

2

我有同樣的問題,其原因是因爲你有你的手機上安裝一個Facebook應用程序。

和...

很多的努力後,我解決了這個錯誤。它非常簡單。這個錯誤會出現在2.2之上android版本。可能是因爲哈希鍵錯誤。

的措施來解決這個問題

打開你的Facebook庫(com.facebook.android)被添加作爲庫 打開FaceBook.java
在,我們會發現private static final int DEFAULT_AUTH_ACTIVITY_CODE = 32665。你應該改變以DEFAULT_AUTH_ACTIVITY_CODE爲-1 現在保存它,乾淨,建立既庫和應用程序 注:

這個空白屏幕纔會出現只有最新版本。

+1

沒有工作對我來說銀河IIIs,Android 4.0.4,有任何人的另一個建議,這是讓我瘋了嗎? – 2012-10-01 16:43:19

1

如果有人遇到這個問題,您可能已經在Facebook開發人員網站創建此應用程序期間啓用沙箱模式。禁用它然後它工作正常。