在Flutter之外,当我实现firebase身份验证时,我总是使用firebase提供的onAuthStateChanged侦听器来确定用户是否已登录并相应地做出响应.
我正在尝试使用flutter做类似的事情,但我可以找到一种方法来访问Firebase的onAuthStateChanged.我正在使用firebase_auth和google_signin Flutter插件.我正在使用firebase_auth Flutter插件中包含的示例代码.下面是示例代码.我可以使用谷歌登录成功登录,但示例太简单了,因为我想让观察者/监听器检测用户的登录/退出状态.
有没有办法通过观察者/监听器使用firebase_auth/google_signin flutter插件来检测以确定用户的状态?
最终,我希望应用程序确定用户是否已登录(是/否).如果没有,则显示登录屏幕,如果是,则显示我的主应用程序页面.
import 'dart:async';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:google_sign_in/google_sign_in.dart';
final FirebaseAuth _auth = FirebaseAuth.instance;
final GoogleSignIn _googleSignIn = new GoogleSignIn();
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Firebase Auth Demo',
home: new MyHomePage(title: 'Firebase Auth Demo'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => new _MyHomePageState(); …
Run Code Online (Sandbox Code Playgroud)