Android FB logInWithReadPermissions 和 registerCallback 没有登录按钮

标签 android facebook facebook-login

为此而生气。我尝试登录 FB,同时检索用户信息。

FB 登录工作正常,应用程序更改为 FB,显示应用程序请求的权限,然后在按接受后返回到我的应用程序。但是 registerCallback 永远不会被调用。我的错误在哪里?这是我的代码:

        FacebookSdk.sdkInitialize(getApplicationContext());
        CallbackManager mCallbackManager = CallbackManager.Factory.create();
        LoginManager.getInstance().logInWithReadPermissions(
                this,
                permissionNeeds);

        LoginManager.getInstance().registerCallback(mCallbackManager,
                new FacebookCallback<LoginResult>() {
                    @Override
                    public void onSuccess(LoginResult loginResult) {
                        Log.e("dd", "SUCCESS");

                        GraphRequest.newMeRequest( loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {

                                    @Override
                                   public void onCompleted(JSONObject json, GraphResponse response) {
                                        if (response.getError() != null) {
                                            System.out.println("ERROR");
                                        } else {
                                            System.out.println("Success");
                                            try {
                                                String jsonresult = String.valueOf(json);
                                                System.out.println("JSON Result" + jsonresult);
                                                String str_email = json.getString("email");
                                                String str_id = json.getString("id");
                                                String str_firstname = json.getString("first_name");
                                                String str_lastname = json.getString("last_name");
                                            } catch (JSONException e) {
                                                e.printStackTrace();
                                            }
                                        }
                                    }
                                }).executeAsync();
                    }

                    @Override
                    public void onCancel() {

                        Log.e("dd", "facebook login canceled");

                    }


                    @Override
                    public void onError(FacebookException e) {


                        Log.e("dd", "facebook login failed error");

                    }
                });

最佳答案

编辑:

找到了,下面的代码少了,现在是获取登录后的用户信息

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

关于Android FB logInWithReadPermissions 和 registerCallback 没有登录按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31061542/

相关文章:

Facebook 问题 API

IOS SWIFT : You have already authorized facebook ios

ios - FBAppCall 从 Facebook 更新 4.x 中删除 - 在 Facebook 登录后返回应用程序

android - 防止后退按钮关闭我的应用程序

android - 如何从Android中的 fragment 单击按钮打开 fragment

javascript - 需要帮助更改 Facebook 评论插件的最大大小

facebook - 订阅标记为 "native' 的应用程序的实时更新

android - 为什么ViewRecycler会在onMeasure上爆炸

android - Ionic 2 构建的应用程序(IOS、Android)启动速度慢

objective-c - 如何自定义FBLoginVIew?