Androids Facebook SDK,单点登录问题?

问题描述:

在Android的Facebook SDK上有一个我无法工作的登录功能。 完成所有关键的散列事情,但也许这种方法有问题。 我究竟应该传递什么,或者有人可以解释这应该做什么?Androids Facebook SDK,单点登录问题?

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) { facebook.authorizeCallback(requestCode, resultCode, data); }

Facebook Single Sign On工作正常,但文档并不是那么好。让你的课程覆盖Facebook DialogListener。

要申请单点登录,请确保您所呼叫的Facebook授权您的应用程序 -

facebookClient = new Facebook(FB_APP_ID); 

     facebookClient.authorize(this, 
      new String[] {"publish_stream", "read_stream", "offline_access"}, this); 

而且你还需要覆盖的onComplete方法。你的OnActivityResult方法绝对没问题。

我使用了这位先生here给出的代码,除了他编写的一些代码使用旧API以外,它对我来说工作得非常好,因此您可能需要更改一些传递给方法的参数。

+0

该链接的作品张贴到脸书。但我并不真正支持单一登录 – png 2012-07-05 10:55:42

我不认为单点登录可以在Facebook的Android SDK中工作得很好。 在该方法私人布尔startSingleSignOn(活动活动,字符串的applicationID,字符串[]权限,INT activityCode){},你会看到下面

Intent intent = new Intent(); 
     intent.setClassName("com.facebook.katana", 
       "com.facebook.katana.ProxyAuth"); 

try { 
     activity.startActivityForResult(intent, activityCode); 
    } catch (ActivityNotFoundException e) { 
     didSucceed = false; 
    } 

事实上,包com.facebook.katana不存在Facebook Android SDK.so方法private boolean startSingleSignOn(Activity activity,String applicationId, String [] permissions,int activityCode){}将返回false,则表示单一登录不可用。

+0

这是因为com.facebook.katana是封闭的官方Facebook应用程序的一部分。 – hunterp 2010-12-21 02:36:09

+0

我知道,只要给您的回答,请。 – dreamevil 2010-12-22 15:08:11

facebookClient.authorize 这种方法不我的设备上工作,直到我重新命名这些参数: “com.facebook.katana”, “com.facebook.katana.ProxyAuth”“ com.facebook.katana1" ,‘com.facebook.katana.ProxyAuth1’ =(