Как сделать переход на другой экран после входа в Google? - PullRequest
0 голосов
/ 02 февраля 2019

Я запрограммирован и хочу выполнить регестрацию при входе в Google. Где мне нужно установить вход на другой экран?

GoogleSignIn _googleSignIn = GoogleSignIn(   scopes: [
    'email',
    'https://www.googleapis.com/auth/contacts.readonly',   ], );

class LoginScreen extends StatefulWidget {   @override  
_LoginScreenState createState() => _LoginScreenState(); }

class _LoginScreenState extends State<LoginScreen> {

  Future<void> _handleSignIn() async {
    try {
      await _googleSignIn.signIn();
      Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => HomeScreen()));
    } catch (error) {
      print(error);
    }   }

  @override   Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        resizeToAvoidBottomPadding: false,
        body: ListView(children: <Widget>[
          Container(
            child: Form(
                autovalidate: true,
                child: Column(
                    children: <Widget>[
                      ButtonTheme(
                        minWidth: double.infinity,
                        height: 55.0,
                        child: RaisedButton(
                          shape: new RoundedRectangleBorder(
                              borderRadius: new BorderRadius.circular(30.0),
                              side: BorderSide(width: 1, color: Colors.red)),
                          color: Colors.white,
                          onPressed: _handleSignIn
                          //    Navigator.of(context).pushReplacementNamed('/home_screen');
                          ,
                          child: Text(
                            'Sign in with Google',
                            style: TextStyle(
                              color: Colors.red,
                              fontSize: 20,
                            ),
                          ),
                        ),
                      ),
                    ])),
          )
        ]),
      ),
    );   } }

, если я нажимаю на кнопку, должен появиться вход в Google и последобавив аккаунт, нужно было войти на другой экран.Но когда я нажимаю на кнопку, открывается вход в Google, и после добавления учетной записи ничего не происходит.

1 Ответ

0 голосов
/ 02 февраля 2019

Ваша реализация pushReplacement в Navigator неверна.Попробуйте: Navigator.of(context).pushReplacement(MaterialPageRoute(builder: (context)=> HomeScreen()));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...