2011-11-01 175 views
2

我想在我的android應用程序中實現Facebook Connect。我看到了一些像foursquare這樣的應用程序,當你點擊Facebook登錄時,它跳轉到安裝在設備上的Facebook應用程序並請求許可,並且一旦被授權回到應用程序並將你登錄。Android Facebook實施SSO

我試圖實現代碼從以下頁 https://developers.facebook.com/docs/mobile/android/sso/

但是,當我點擊登錄時彈出一個Web視圖對話框,併爲我輸入用戶名和密碼。

任何一個可以參考我的一些教程SSO爲Facebook Android SDK中

public class SplashActivity extends Activity { 

    private Button loginButton, signupButton, FacebookButton; 

    public static final String APP_ID = "11232201730"; 
    Facebook facebook = new Facebook("APP_ID"); 

    String[] permissions = { "user_about_me", "email", "user_birthday", 
      "user_location", "publish_stream" }; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash); 

     FacebookButton = (Button) findViewById(R.id.FacebookLogin); 
     FacebookButton.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 

       facebook.authorize(this, new Facebook.DialogListener() { 

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

        } 

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

        } 

        public void onComplete(Bundle values) { 
         // TODO Auto-generated method stub 

        } 

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

        } 
       }); 


      } 
     }); 

    } 
} 

錯誤

的方法,類型授權(活動,Facebook.DialogListener)Facebook是不適用的參數(新View.OnClickListener(){},新Facebook.DialogListener(){})

+0

你曾經使用Facebook的SDK? – Venky

+0

這是我第一次嘗試它.. –

+1

只是供參考,Facebook是depecating此代碼。所以,切換到SDK 3.0自動會話管理。在這裏你可以開始:https://github.com/freakynit/facebook-android-sdk-3.0-small-playground –

回答

3

facebook.authorize(this, new Facebook.DialogListener()

應該

facebook.authorize(SpashActivity.this, new Facebook.DialogListener()

+0

謝謝:)作品...當我有@override在內部方法之上..我得到這個錯誤「方法onComplete(Bundle)的類型新Facebook.DialogListener(){ }必須重寫一個超類方法「 –