2011-11-01 89 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(){ }必须重写一个超类方法“ –