2011-03-23 32 views
2

我有一個使用Facebook Android SDK的應用。直到我安裝了面向Android第三方應用的Facebook爲止,所有的工作都很好(Facebook登錄,Like功能)。Android:Android SDK與Facebook之間的Android應用衝突

沒有第三方應用程序,我選擇登錄Facebook時獲得WebView。但隨着Facebook應用程序的安裝,用戶被定向到FB應用程序進行登錄(我相信它啓動了該應用程序的活動)。

有沒有辦法阻止我的應用程序使用第三方應用程序來處理任何與我的應用程序相關的Facebook相關事宜,並且只使用SDK中的WebView進行登錄?

在此先感謝。

+0

http://stackoverflow.com/questions/9240416/android-faceboook-sso-login-failed-invalid-keyandroid-key-mismatch – 2012-06-11 06:56:49

回答

5

Alrighty,通讀了Facebook SDK的源代碼並查看了authorize方法,並找到了我的答案。

發現它不是衝突,但它是如何工作的。 Facebook SDK更喜歡Single Sign-On,這意味着它肯定會使用Facebook for Android應用程序進行登錄。

在回答這個問題(如何防止應用程序使用第三方應用程序)的目的,這就是我所做的:

mFacebook.authorize(context, 
       new String[] { "user_photos", "friends_photos", "publish_stream" }, 
       -1, 
       (DialogListener) dialogListener); 

我剛添加的第三個參數也就是activityCode。 Facebook SDK會檢查該值是否大於或等於零,並使用單一登錄。

現在我知道理想和首選的方法是使用Facebook SSO方法。