在android上实现facebook登录 - 登录后没有Logcat结果

时间:2015-04-14 05:07:26

标签: android facebook

我尽力遵循Facebook上的开发人员指南,我为MainActivity提出了以下内容:

public class MainActivity extends Activity {

    LoginButton loginButton;
    CallbackManager callbackManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        FacebookSdk.sdkInitialize(getApplicationContext());
        setContentView(R.layout.activity_main);

        loginButton = (LoginButton) findViewById(R.id.login_button);
        loginButton.setReadPermissions("user_friends");

        callbackManager = CallbackManager.Factory.create();
        loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
                Log.d("FACEBOOK", "onSuccess");
            }

            @Override
            public void onCancel() {
                Log.d("FACEBOOK", "onCancel");
            }

            @Override
            public void onError(FacebookException e) {
                Log.d("FACEBOOK", "onError");
            }
        });

    }

}

“登录”按钮的工作方式就像带我进入登录页面并登录一样,它说我的应用程序请求xyz,然后点击“确定”。窗口关闭,但没有其他事情发生。看起来我的回调不起作用,但我不确定为什么。有人看错了什么吗?我看了很多人使用碎片,我不知道为什么......这是问题吗?我已经和android搞乱了大约两天,所以我真的不太了解。

1 个答案:

答案 0 :(得分:1)

您需要覆盖活动中的onActivityResult方法并致电callbackManager.onActivityResult

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

请参阅login guide