Facebook SDK登录回调永远不会被称为android

时间:2016-05-04 12:26:54

标签: android facebook facebook-sdk-4.x

我在Android应用中使用以下代码段,以允许用户使用Facebook登录我的应用:

public class FacebookLoginActivity extends AppCompatActivity {
private CallbackManager callbackManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(this.getApplicationContext());
    initCallback();
    LoginManager.getInstance().logInWithReadPermissions(this, FacebookUtils.requiredPermissions);
}

private void initCallback() {
    callbackManager = CallbackManager.Factory.create();
    LoginManager.getInstance().registerCallback(callbackManager,
            new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {
                   AccessToken.setCurrentAccessToken(loginResult.getAccessToken());

                @Override
                public void onCancel() {

                }

                @Override
                public void onError(FacebookException exception) {

                }

            }
    );
}

@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
}

}

然而,由于定义的Callback方法永远不会被调用,所以它没有工作,我显示了facebook加载器并且我到达onActivityResult但是回调函数从未被调用过,有没有人知道可能是什么问题?提前谢谢。

2 个答案:

答案 0 :(得分:0)

尝试以下代码:

{{1}}

答案 1 :(得分:0)

尝试此步骤。

Variable创建新的LoginButton全局定义。

private LoginButton btnLogin;

然后在onCreate添加此代码。

btnLogin.setReadPermissions(Arrays.asList("public_profile, email, user_birthday"));
callbackManager = CallbackManager.Factory.create();

同时更改此内容。

LoginManager.getInstance().registerCallback(callbackManager,

对此。

btnLogin.registerCallback(callbackManager,