简体   繁体   English

java-使用Android Studio和Facebook SDK实现Facebook登录

[英]java - Implement Facebook login using Android Studio and Facebook SDK

I've tried to use the Facebook SDK to create a simple Facebook login inside my application. 我尝试使用Facebook SDK在我的应用程序中创建一个简单的Facebook登录名。 Everything works fine, but the registerCallback function of LoginButton does not work properly. 一切正常,但是LoginButton的registerCallback函数无法正常工作。 This is my code: 这是我的代码:

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    FacebookSdk.sdkInitialize(getApplicationContext());
    callbackManager = CallbackManager.Factory.create();

    setContentView(R.layout.activity_main);
    loginButton = (LoginButton)findViewById(R.id.btn_login);

    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            message = "Success! ";
        }

        @Override
        public void onCancel() {
            message = "Cancel!";
        }

        @Override
        public void onError(FacebookException e) {
            message = e.getMessage();
        }
    });
}

This is inside my main activity. 这是我的主要活动。 I then proceed to print the 'message' variable which is always empty because none of the registerCallback functions seems to be executed. 然后,我继续打印“ message”变量,该变量始终为空,因为似乎没有执行registerRegisterback函数。 If I try to login again, Facebook says that I already enabled this application, but I did not receive feedback about the LoginResult. 如果我尝试再次登录,Facebook表示我已经启用了此应用程序,但没有收到有关LoginResult的反馈。

Have you implemented onActivityResult in your activity 您是否在活动中实现了onActivityResult

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM