想要向新用户显示欢迎页面,并在 Flutter Firebase 中向登录用户显示主屏幕
Posted
技术标签:
【中文标题】想要向新用户显示欢迎页面,并在 Flutter Firebase 中向登录用户显示主屏幕【英文标题】:Want to show Welcome Page to new user and Home Screen to Logged in users in flutter Firebase 【发布时间】:2021-08-19 15:45:10 【问题描述】:我有这个 Flutter 应用程序,它向登录用户显示一些数据,但每次即使登录用户打开应用程序也会打开欢迎屏幕,我希望欢迎屏幕仅在用户注销或没有时打开t 登录,开始。
这是main.dart:
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:masterpass/Screens/Welcome/welcome_screen.dart';
import 'package:masterpass/components/constants.dart';
void main() async
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
class MyApp extends StatelessWidget
// This widget is the root of your application.
@override
Widget build(BuildContext context)
return MaterialApp(
title: 'MasterPass',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primaryColor: kPrimaryColor,
scaffoldBackgroundColor: Colors.white,
),
home: WelcomeScreen(),
);
github上的代码:MasterPass
【问题讨论】:
【参考方案1】:您可以使用StreamBuilder
:
StreamBuilder(
stream: FirebaseAuth.instance.authStateChanges(),
builder: (_, snapshot)
if (snapshot.data == null) //if user isn't signed in
return LoginScreen();
return HomeSite(); //if user is signed in
);
【讨论】:
【参考方案2】:您可以检查用户是否使用FirebaseAuth.instance.currentUser != null
登录并使用该逻辑设置主页。
例如:
home: (FirebaseAuth.instance.currentUser != null)
? HomePageWhenLoggedIn()
: WelcomeScreen(),
【讨论】:
以上是关于想要向新用户显示欢迎页面,并在 Flutter Firebase 中向登录用户显示主屏幕的主要内容,如果未能解决你的问题,请参考以下文章
使用哪种方法来保存游戏数据并在 Flutter 中显示它们? [关闭]
Flutter Navigator.pushReplacementNamed 在页面显示返回按钮
如何从存储中选择多个图像并在 Flutter 和 Flutter Web App 中显示? [关闭]