如何解决这个 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 的用户好友列表