Вход в Facebook не входит в систему после выхода из Android

Я создаю приложение для Android, использующее SDK Facebook. В настоящее время я использую LoginManager для обработки потока входа в систему. Я уже инициализировал SDK Facebook в методе Applications onCreate.

public class DummyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        FacebookSdk.sdkInitialize(this);
        AppEventsLogger.activateApp(this);
    }
}

Я также настроил свою LoginActivity как таковую:

public class LoginActivity extends AppCompatActivity {

    @Bind(R.id.custom_login_button)
    Button mCustomFacebookButton;
    private CallbackManager callbackManager;
    private LoginManager mLoginManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    callbackManager = CallbackManager.Factory.create();
    mLoginManager = LoginManager.getInstance();
    mLoginManager.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {

            startActivity(new Intent(LoginActivity.this, MainActivity.class));
        }

        @Override
        public void onCancel() {

        }

        @Override
        public void onError(FacebookException error) {

            error.printStackTrace();
        }
    });
    mCustomFacebookButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mAuthProgressDialog.show();
            mLoginManager.logInWithReadPermissions(LoginActivity.this
                    , Arrays.asList("user_events", "email" ,"user_friends"));
        }
    });
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);        
        callbackManager.onActivityResult(requestCode, resultCode, data);
    }
}

Поток заключается в том, что после нажатия кнопки входа в систему запускается MainActivity, и в этом действии есть SettingsActivity с кнопкой выхода, которая вызывает LoginManager.getInstance().logOut();, которая вернет вас к действию входа в систему. Проблема, с которой я сталкиваюсь, заключается в том, что после выхода из системы я не могу снова войти в систему, а мой AccessToken всегда равен нулю. Так что, по сути, я застрял в LoginActivity.

Это становится еще более странным, как только я удаляю файлы сборки и повторно импортирую проект, он работает нормально, пока я снова не выйду из системы, и эта проблема не начнется снова. Эта проблема возникла только с тех пор, как я обновился до Android Studio 2.1, инструментов сборки до 23.0.3 и инструментов SDK до 25.1.3.

-Редактировать: он больше не исправляет себя при повторном импорте


person timm_oh    schedule 05.05.2016    source источник


Ответы (1)


Итак, получается, что в моем манифесте для моей LoginActivity у меня не было истории как истинной. Это привело к тому, что мой onActivityResult не вызывался. Как только я удалил эту строку, проблема, связанная с входом в Facebook, исчезла.

person timm_oh    schedule 06.05.2016