Дважды нажмите ошибка при выходе из Firebase AuthUI - PullRequest
0 голосов
/ 06 июня 2018

Дважды нажмите на ошибку при выходе из Firebase AuthUI:

Когда я нажимаю «Выйти», появляется тост «Вы вошли в систему».

Когда я нажимаю «Выйти»во второй раз он возвращается в SignInActivity.

MainActivity.java

case R.id.menu_sign_out:
     AuthUI.getInstance().signOut(MainActivity.this);
     startActivity(new Intent(MainActivity.this, SignInActivity.class));

SignInActiviy.java

mAuthStateListener = new FirebaseAuth.AuthStateListener()
        {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth)
            {
                FirebaseUser user = firebaseAuth.getCurrentUser();
                Log.d(TAG, "[SignInActivity]current user:" + user);
                if (user != null)
                {
                    //user is signed in
                    Toast.makeText(SignInActivity.this, "You're signed in.", Toast.LENGTH_SHORT).show();
                    startActivity(new Intent(SignInActivity.this, MainActivity.class));
                }
            }
        };

@Override
    protected void onPause()
    {
        super.onPause();
        if (mAuthStateListener != null)
        {
            mFirebaseAuth.removeAuthStateListener(mAuthStateListener);
        }

    }

    @Override
    protected void onResume()
    {
        super.onResume();
        mFirebaseAuth.addAuthStateListener(mAuthStateListener);
    }

1 Ответ

0 голосов
/ 06 июня 2018

решение проблемы с использованием «.addOnCompleteListener»

похоже, что Firebase AuthUI является асинхронным

, поэтому после выхода из системы немедленно выполните вход в систему

выходпроцесс еще не завершен.

AuthUI.getInstance().signOut(this)
  .addOnCompleteListener(new OnCompleteListener<Void>()
  {
    public void onComplete(@NonNull Task<Void> task)
    {
      StartActivity(new Intent(MainActivity.this, SignInActivity.class));
    }
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...