Android Facebook SDK 4.0 登录:用户登录 Facebook 应用程序时出错
Posted
技术标签:
【中文标题】Android Facebook SDK 4.0 登录:用户登录 Facebook 应用程序时出错【英文标题】:Android Facebook SDK 4.0 Login: Error when user is logged in Facebook App 【发布时间】:2015-03-31 21:06:28 【问题描述】:我一直在尝试在我的 android 应用中实现 Facebook 登录,但没有成功。由于设计原因,我想在不使用 SDK 提供的 LoginButton 的情况下实现 Facebook 登录。为此,我使用了 LoginManager 和 CallbackManager 类。当用户未登录 Facebook 应用程序时,我的代码可以正常工作,但如果用户在 Facebook 应用程序中有一个打开的会话,我会收到一条错误消息:
错误 应用未设置:此应用的开发者尚未正确设置此应用以进行 Facebook 登录。
我确定该应用程序已在 Facebook 中正确配置,并且根据 Facebook 开发人员教程,我的清单和 gradle 文件中包含所有内容,所以我不知道出了什么问题。我非常感谢有关此主题的任何帮助,我需要继续进行应用程序开发。谢谢! 这是我与 Facebook 登录相关的代码:
在 onCreate(...) 方法中
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
btnFacebookLogin.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
facebookLogin();
);
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>()
@Override
public void onSuccess(LoginResult loginResult)
Log.i("LoginActivity","onSuccess Facebook Login");
Toast.makeText(getApplicationContext(),"Login successful",Toast.LENGTH_SHORT).show();
@Override
public void onCancel()
@Override
public void onError(FacebookException e)
Log.e("LoginActivity","ERROR: "+e.getMessage());
);
这里是我的 facebookLogin() 方法:
public void facebookLogin()
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile"));
还有 onActivityResult(...)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
再次感谢您的帮助!!
【问题讨论】:
你的 onError 方法被调用了吗? logcat 里还有别的吗? 另外,您可能使用的是测试应用而不是真实的应用 ID? 【参考方案1】:转到您的Facebook Apps 并选择您的应用程序并单击状态和评论,然后选择并将其更改为 YES 以表示您是否想让此应用程序及其所有实时功能对普通大众?
【讨论】:
谢谢。这就是我所缺少的。以上是关于Android Facebook SDK 4.0 登录:用户登录 Facebook 应用程序时出错的主要内容,如果未能解决你的问题,请参考以下文章