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

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); 
} 

再次感谢您的任何帮助!

+0

你的onError方法被调用了吗? logcat中还有其他的东西吗? – 2015-03-31 22:32:57

+0

另外,你可能使用测试应用程序,而不是真正的应用程序ID? – 2015-03-31 22:34:24

转到您的Facebook Apps并选择您的应用,然后点击状态&审核,然后选择并将其更改为YES为你想使这个应用程序及其所有Live功能提供给公众?

enter image description here

+0

谢谢。这是我错过的。 – 2015-04-06 20:05:16

你的代码应该可以正常工作。问题出在Facebook应用程序端设置。
您是否正确配置了您的Facebook应用?首先,你是否从你自己的帐户登录?因为在发展中国家,它只允许你登录你和测试者帐户。您可以在您的应用程序preferenceRoles”中设置您的应用程序测试人员。
此外,请检查,如果在您的应用程序settings→“基本”Single Sign On为“是”。在“高级”Client OAuth Login中也是“是”。