Android Facebook.authorize不会调用oncomplete方法

时间:2011-12-10 16:31:19

标签: android facebook

我正在尝试将facebook登录集成到我的Android应用程序上。我在互联网上发现了很多例子,但现在我遇到了以下问题,我找不到解决方案。

在facebook.authorize完成工作后,永远不会调用oncomplete方法。 如果我使用Facebook.FORCE_DIALOG_AUTH的facebook.authorize,在这种情况下调用oncomplete方法,我可以保存access_token。 我附上了一段我的代码。 任何人都可以帮我解决这个问题吗?

  if(!facebook.isSessionValid()) {         
 facebook.authorize(Login.this, new String[] {"publish_stream","read_stream", "offline_access"}, //Facebook.FORCE_DIALOG_AUTH, 
        new DialogListener() {

                @Override
                public void onComplete(Bundle values) {

                        SharedPreferences.Editor editor = mPrefs.edit();
                        editor.putString("access_token", facebook.getAccessToken());
                        editor.putLong("access_expires", facebook.getAccessExpires());
                        editor.commit();                                
                }

                @Override
                public void onFacebookError(FacebookError error) {Log.e("FB:","Facebook Error" );}

                @Override
                public void onError(DialogError e) {Log.e("FB:","Error" );}

                @Override
                public void onCancel() {}
       });
}

由于 西莫

1 个答案:

答案 0 :(得分:22)

确保按onActivityResult()

中的说明正确实施official documentation
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    facebook.authorizeCallback(requestCode, resultCode, data);
}