如何解决这个 Facebook SDK 4.0 登录按钮异常

Posted

技术标签:

【中文标题】如何解决这个 Facebook SDK 4.0 登录按钮异常【英文标题】:how to solve this Facebook SDK 4.0 login button exception 【发布时间】:2015-05-16 11:52:51 【问题描述】:

我在一个安卓应用中使用Facebook SDK 4.0进行登录,代码如下

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

    // Other app specific specialization


    callbackManager = CallbackManager.Factory.create();

    // Callback registration
    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() 
        @Override
        public void onSuccess(LoginResult loginResult) 
            // App code
            Profile profile = Profile.getCurrentProfile();

            Log.d("facebook",profile.getId());


        

        @Override
        public void onCancel() 
            // App code
            Log.d("facebook","failed");
        

        @Override
        public void onError(FacebookException exception) 
            // App code
            Log.d("facebook","failed");
        
    );

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



当设备上的 Facebook 应用程序 (Genymotion nexus 5 5.0.0 ROM) 在生成异常后处于注销状态时

java.lang.RuntimeException:将结果 ResultInfowho=null, request=64206, result=-1, data=Intent (has extras) 传递给活动失败

我已经尝试了很多选项,包括让 Facebook 应用上线(开发者生产)仍然无法正常工作,并且无法在此行获取任何个人资料信息

Profile profile = Profile.getCurrentProfile();

Log.d("facebook",profile.getId());

我使用的 Genymotion ROM 没有启用开发者模式。

【问题讨论】:

【参考方案1】:

您是否初始化了 facebook sdk?

如果没有,请在使用 facebook sdk 之前添加此代码 onCreate 或 somewere。

FacebookSdk.sdkInitialize(getApplicationContext()); 

【讨论】:

【参考方案2】:

问题在于应用设置 SSO 已关闭,现在打开后它不会在 Weblogin 上崩溃

【讨论】:

也看到了这个教程,巧妙地解决了如何使用 4.X sdk code2care.org/2015/…

以上是关于如何解决这个 Facebook SDK 4.0 登录按钮异常的主要内容,如果未能解决你的问题,请参考以下文章

Facebook iOS SDK > 4.0 替代 initWithAppId?

使用 Facebook SDK 4.0 进行 Android 登录

如何在 Facebook Android sdk 4.0 中使用 Graph Request 获取登录用户的电子邮件地址

如何使用 Facebook iOS SDK 4.0 获取包含用户名和 ID 的用户好友列表

ParseFacebookUtilsV4 和 Facebook-iOS-SDK 4.0

Android Facebook SDK 4.0 登录:用户登录 Facebook 应用程序时出错