Android - 附加到Facebook.authorize()的DialogListener中的方法未被命中

时间:2011-07-18 06:21:09

标签: android facebook facebook-android-sdk

我正在尝试将Facebook Android SDK集成到我的应用程序中,但我似乎无法获得最基本的身份验证。我有我的项目设置,我的Facebook App 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类中的日志消息(或断点)都不会被调用。 / p>

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

解决

只需添加:

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

1 个答案:

答案 0 :(得分:0)

试试这个:

私人Facebook mFb; private String [] mPermissions;

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

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

别的,只要问;)