signOut () не работает после перехода на экран .. но работает, когда я не перемещаюсь .. как я могу это исправить? - PullRequest
0 голосов
/ 27 мая 2020

В моем приложении есть две страницы, которые отображаются после входа в систему: Home () и Edit (). Доступ к странице редактирования () можно получить через нижнюю панель навигации на домашней странице (). На странице редактирования пользователь может нажать «ОК» после редактирования. Когда пользователь нажимает «ОК», экран меняется на домашнюю страницу (), где отображаются изменения. По завершении этого процесса кнопка выхода () на домашней странице () перестает работать. Если пользователь не нажимает «ОК» на странице редактирования () после входа в систему, кнопка выхода () работает нормально. Как я могу это исправить?

onPressed () {} для «ОК» показан ниже.

onPressed() {
  // also the form data saving to database.
 Navigator.popAndPushNamed(context, HomeScreen.id);
}

1 Ответ

1 голос
/ 27 мая 2020

Вы должны сделать следующее:

        onPressed: () {
        FirebaseAuth auth = FirebaseAuth.instance;
        auth.signOut().then((res) {
            Navigator.pushReplacement(
            context,
            MaterialPageRoute(builder: (context) => SignIn()),
            );
        });
        },

Здесь onPressed кнопки signOut, пользователь выходит из firebase, поэтому текущего пользователя не будет, и вы перейдете на другую страницу .

...