6

我正在尝试将 Facebook Android SDK 集成到我的应用程序中,但我似乎无法让最基本的身份验证正常工作。我已经完成了我的项目设置、我的 Facebook 应用程序 ID,以及所需的一切。

我使用简单的 OnClickListener() 启动 Facebook 身份验证:

    signIn_Facebook.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v)
        {
            Log.i("MyTag", "Facebook authorize about to start.");
            facebook.authorize(SignIn.this, new FacebookLoginDialogListener());
        }

    });

我的问题是 DialogListener 中的任何方法都没有被调用:

private class FacebookLoginDialogListener implements DialogListener {

public void onComplete(Bundle values) 
{
        Log.i("MyTag", "Facebook authorize complete.");

}

@Override
public void onFacebookError(FacebookError error) {                              
    Log.i("MyTag", "Facebook authorize facebook error.");
}

@Override
public void onError(DialogError e) 
{
        Log.i("MyTag", "Facebook authorize dialog error.");

}

@Override
public void onCancel() 
{
        Log.i("MyTag", "Facebook authorize cancel.");
}
}

当此代码在应用程序上运行时,Facebook 对话框打开,您可以登录,然后它就关闭了 - 没有错误 - 但是 FacebookLoginDialogListener 类中的任何日志消息(或断点)都不会被调用。

我觉得好像我错过了一些非常明显的东西。谢谢...

解决了

只需要添加:

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

1 回答 1

0

尝试这个:

私人 Facebook mFb;私有字符串[] mPermissions;

mFb.authorize(mActivity, mPermissions, new LoginDialogListener());

如果您想要一个示例,请查看https://github.com/facebook/facebook-android-sdk/blob/master/examples/simple/src/com/facebook/android/LoginButton.java

还有什么,问吧;)

于 2011-07-18T06:35:31.830 回答