Неожиданный вызов LoginManager.onActivityResult Facebook SDK v3.2 - PullRequest
1 голос
/ 07 июля 2019

Я интегрирую Facebook Login в свое приложение для Android, и когда я нажимаю на кнопку Login и разрешаю необходимое разрешение, оно дает мне Неожиданный вызов LoginManager.onActivityResult .

разрешения, которые я запрашиваю: "public_profile", "business_management", "read_insights"

Я выполнил все инструкции согласно этому вопросу, но все еще сталкивался с тем жеошибка
Facebook Android SDK v2.3 Неожиданный вызов LoginManager.onActivityResult

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)
...