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

And*_* M. 1 android facebook facebook-sdk-4.0

我\xc2\xb4一直在尝试在我的Android应用程序中实现Facebook登录但没有成功。由于设计原因,我想在不使用SDK提供的LoginButton的情况下实现Facebook登录。为此,我使用了 LoginManager 和 CallbackManager 类。当用户未登录 Facebook 应用程序时,我的代码工作正常,但如果用户在 Facebook 应用程序中有一个打开的会话,我会收到一条错误消息:

\n\n

错误\n应用程序未设置:此应用程序的开发人员尚未正确设置此应用程序以进行 Facebook 登录。

\n\n

我确信该应用程序在 Facebook 中配置正确,并且根据 Facebook 开发人员教程,我的清单和 gradle 文件中包含所有内容,因此我不知道出了什么问题。我非常感谢有关此主题的任何帮助,我需要使其正常工作才能继续应用程序开发。谢谢!\n这是我与 Facebook 登录相关的代码:

\n\n

在 onCreate(...) 方法中

\n\n
 FacebookSdk.sdkInitialize(getApplicationContext());\n callbackManager = CallbackManager.Factory.create();\n btnFacebookLogin.setOnClickListener(new View.OnClickListener()\n {\n        @Override\n        public void onClick(View v)\n        {\n            facebookLogin();\n        }\n\n });\n\n LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>()\n {\n        @Override\n        public void onSuccess(LoginResult loginResult)\n        {\n            Log.i("LoginActivity","onSuccess Facebook Login");\n            Toast.makeText(getApplicationContext(),"Login successful",Toast.LENGTH_SHORT).show();\n        }\n\n        @Override\n        public void onCancel()\n        {\n\n        }\n\n        @Override\n        public void onError(FacebookException e)\n        {\n            Log.e("LoginActivity","ERROR: "+e.getMessage());\n        }\n });\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的 facebookLogin() 方法:

\n\n
public void facebookLogin()\n{\n    LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile"));\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

和 onActivityResult(...)

\n\n
 @Override\nprotected void onActivityResult(int requestCode, int resultCode, Intent data)\n{\n    super.onActivityResult(requestCode, resultCode, data);\n    callbackManager.onActivityResult(requestCode, resultCode, data);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

再次感谢您的帮助!

\n

Dhe*_*ngh 5

转到您的Facebook 应用程序并选择您的应用程序,然后单击“状态和审核”,然后选择并将其更改为“是” ,您是否希望向公众提供此应用程序及其所有实时功能?

在此输入图像描述