2016-10-17 3 views
1
mlogbtn.setOnClickListener(new View.OnClickListener(){ 
    @Override 
    public void onClick(View view) { 
     FirebaseAuth.getInstance().signOut(); 
    } 
} 

Я стараюсь следовать официальной документации Firebase и пытаться выписать уже подписанного пользователя.Выйти с использованием Firebase и Android

Я сделал кнопку и установил onClickListener, который вызывает функцию выписки. Но проблема в том, что кнопка просто ничего не делает при нажатии.

Есть ли альтернативный метод для достижения того же или у меня есть какой-то требуемый код?

+1

Пожалуйста, добавьте код вашей кнопки внутри макета и где вы установили 'onClickListener'? –

+0

Если кнопка не отвечает на клики, проблема заключается в том, как вы присоединяете слушателя. Измените свои вопросы, чтобы включить минимальный, но полный код, который находит просмотр и атташе слушателя. –

ответ

0

Для выхода: При входе в систему с использованием функции auth Затем он сохраняет токен аутентификации в локальном хранилище на вашем устройстве.

Таким образом, вы можете выйти из системы с помощью refreance.unauth();

Может быть, это работа для вас,

+0

'unauth()' - это метод выхода для Firebase 2.x SDK. OP использует новую Firebase 3.x/9.x. –

0

Предполагая, что ваш OnClickListener работает и FirebaseAuth.getInstance(). SignOut() вызывается у вас должен быть присоединен к FirebaseAuth.AuthStateListener Деятельность:

private boolean isAuthListenerSet = false; 

private FirebaseAuth.AuthStateListener mAuthListener = new FirebaseAuth.AuthStateListener() { 
    @Override 
    public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { 
     FirebaseUser user = firebaseAuth.getCurrentUser(); 
     if (user != null) { 
      //User is signed in 
     } else { 
      //User is signed out - insert your logic here 
     } 
    } 
}; 

@Override 
protected void onStart() { 
    super.onStart(); 
    if (!isAuthListenerSet) { 
     FirebaseAuth.getInstance().addAuthStateListener(mAuthListener); 
     isAuthListenerSet = true; 
    } 
} 

@Override 
protected void onStop() { 
    super.onStop(); 
    if (mAuthListener != null) { 
     FirebaseAuth.getInstance().removeAuthStateListener(mAuthListener); 
     isAuthListenerSet = false; 
    } 
} 
Смежные вопросы