Android Facebook SDK 4.0登录:用户登录Facebook应用时出错
我一直试图在Android应用中实现Facebook登录,但没有成功。由于设计原因,我想实现Facebook登录,而不使用SDK提供的LoginButton。为此,我使用了LoginManager和CallbackManager类。我的代码工作正常,当用户没有登录Facebook应用程序,但如果用户在Facebook应用程序中有一个打开的会话,我得到一个错误,说:Android Facebook SDK 4.0登录:用户登录Facebook应用时出错
错误 应用程序未安装:此应用程序的开发人员还没有正确设置这个应用程序的Facebook登录。
我确定在Facebook上正确配置了应用程序,根据Facebook开发者教程,我在我的清单和gradle文件中拥有了所有内容,所以我不知道什么是错的。我真的很感谢这个话题的任何帮助,我需要让这个工作继续进行App开发。谢谢! 这里是我的代码与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);
}
再次感谢您的任何帮助!
转到您的Facebook Apps并选择您的应用,然后点击状态&审核,然后选择并将其更改为YES为你想使这个应用程序及其所有Live功能提供给公众?
谢谢。这是我错过的。 – 2015-04-06 20:05:16
你的代码应该可以正常工作。问题出在Facebook应用程序端设置。
您是否正确配置了您的Facebook应用?首先,你是否从你自己的帐户登录?因为在发展中国家,它只允许你登录你和测试者帐户。您可以在您的应用程序preference“Roles”中设置您的应用程序测试人员。
此外,请检查,如果在您的应用程序settings→“基本”Single Sign On
为“是”。在“高级”Client OAuth Login
中也是“是”。
你的onError方法被调用了吗? logcat中还有其他的东西吗? – 2015-03-31 22:32:57
另外,你可能使用测试应用程序,而不是真正的应用程序ID? – 2015-03-31 22:34:24