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

Mic*_*rne 6 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());
        }

    });
Run Code Online (Sandbox Code Playgroud)

我的问题是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.");
}
}
Run Code Online (Sandbox Code Playgroud)

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

我觉得好像缺少一些非常明显的东西.谢谢...

解决了

只需要添加:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  facebook.authorizeCallback(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)

小智 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

还有什么问题,尽管问;)

  • 感谢您的帮助,我只是没有 `protected void onActivityResult(int requestCode, int resultCode, Intent data) { facebook.authorizeCallback(requestCode, resultCode, data); }` 线...多么尴尬 (2认同)