我正在尝试将 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);
}