Android Facebook SDK 4.0 登录:用户登录 Facebook 应用程序时出错
Android Facebook SDK 4.0 Login: Error when user is logged in Facebook App
我一直在尝试在我的 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);
}
再次感谢您的帮助!!
转到您的 Facebook Apps 和 select 您的应用程序并单击状态和审查然后 select 并将其更改为 YES您想让普通用户使用此应用程序及其所有实时功能吗public?
我一直在尝试在我的 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);
}
再次感谢您的帮助!!
转到您的 Facebook Apps 和 select 您的应用程序并单击状态和审查然后 select 并将其更改为 YES您想让普通用户使用此应用程序及其所有实时功能吗public?