Java 对LoginManager.onActivityResult Facebook SDK v3.2的意外调用

Java 对LoginManager.onActivityResult Facebook SDK v3.2的意外调用,java,android,facebook,facebook-login,Java,Android,Facebook,Facebook Login,我正在将Facebook登录集成到我的Android应用程序中,当我点击登录按钮并允许它授予我所需的权限时 意外调用LoginManager.onActivityResult 我请求的权限是“公共配置文件”、“业务管理”、“阅读洞察” 我已按照此问题的所有说明进行操作,但仍面临相同的错误 我也有同样的错误,并且做了很多工作直到它工作,但是我可能无法具体说明是什么修复了它,但它可能不是代码。我的最佳猜测是,您需要验证您的开发帐户是否为个人帐户或企业帐户 如前所述,更改会立即生效,因此当我收到电子

我正在将Facebook登录集成到我的Android应用程序中,当我点击登录按钮并允许它授予我所需的权限时 意外调用LoginManager.onActivityResult

我请求的权限是“公共配置文件”、“业务管理”、“阅读洞察”

我已按照此问题的所有说明进行操作,但仍面临相同的错误


我也有同样的错误,并且做了很多工作直到它工作,但是我可能无法具体说明是什么修复了它,但它可能不是代码。我的最佳猜测是,您需要验证您的开发帐户是否为个人帐户或企业帐户 如前所述,更改会立即生效,因此当我收到电子邮件,证明我的帐户已成功验证时,我转到我的应用程序,尝试oAuth,它成功了

我会指出我做过的其他事情:

  • 将公共_配置文件权限更改为高级
  • 将电子邮件权限更改为高级
  • 将firebase中使用的所有SHA1指纹添加到facebook dev中,在十六进制到64进制之后
  • 在清单中添加了facebook应用程序id,因为firebase有自己的facebook应用程序id,所以我对该元数据使用了
    tools:replace=“android:value”

因此,无论是全部还是其中一个,我鼓励你检查一下列表。

你能解决这个问题吗?@BrianRedd不,那一次我尝试了很多方法来解决这个问题,但都无法解决。谢谢你的回答,过去几天我一直在努力解决这个问题。我刚刚发现我的帐户没有被验证。如果行得通,我就接受你的回答。非常感谢。
public class FacebookLogIn extends AppCompatActivity implements View.OnClickListener {

    private static final String TAG = "FacebookLogIn";
    private List<String> permissions = Arrays.asList("public_profile","business_management","read_insights");
    private CallbackManager callbackManager;
    ViewPager viewPagerFragment;
    SplashViewPagerAdapter viewPagerAdapter;
    Button btnLogin;
    FrameLayout frameLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_log_in);
        viewInIt();
        viewPagerSetUp();
        doAuth();

        //automatically logIn if access Token available and not expired else perform doAuth().
        AccessToken accessToken = MyTokens.getAccessToken();
        boolean isLoggedIn = accessToken != null && !accessToken.isExpired() && accessToken.getPermissions().contains("read_insights") && accessToken.getPermissions().contains("business_management");
        if (isLoggedIn){
            //if access token not expired and permission granted then start AppSelection Activity
            startActivity(new Intent(FacebookLogIn.this, AppSelection.class));
            //and close the current activity
            finish();
        }
    }

    private void viewInIt(){
        btnLogin=findViewById(R.id.btnFbLogin);
        btnLogin.setOnClickListener(this);
    }


/*
--------------------------------------Login button------------------------------------------------------
 */
    @Override
    public void onClick(View v) {
        LoginManager.getInstance().logInWithReadPermissions(this, permissions);
    }

    private void doAuth() {

        //callbackManager for facebook logIn
        callbackManager = CallbackManager.Factory.create();


        LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {

                    @Override
                    public void onSuccess(LoginResult loginResult) {

                        //start AppSelection Activity
                        startActivity(new Intent(FacebookLogIn.this,AppSelection.class));
                        //and close the current activity
                        finish();
                    }

                    @Override
                    public void onCancel() {
                    }

                    @Override
                    public void onError(FacebookException exception) {
exception.printStackTrace();
                    }
                });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        callbackManager.onActivityResult(requestCode, resultCode, data);
    }
W/System.err: Unexpected call to LoginManager.onActivityResult
W/System.err:     at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:232)
        at com.facebook.login.LoginManager$1.onActivityResult(LoginManager.java:174)
W/System.err:     at com.facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.java:91)
        at com.greenlab.audiencenetwork.FacebookLogIn.onActivityResult(FacebookLogIn.java:110)
        at android.app.Activity.dispatchActivityResult(Activity.java:7121)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:4175)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4222)
        at android.app.ActivityThread.-wrap20(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1581)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:163)
        at android.app.ActivityThread.main(ActivityThread.java:6238)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)