Я создаю приложение, которое пока имеет страницу входа и домашнюю страницу. Я могу войти с помощью Google и может быть перенаправлен на текущую страницу (домашнюю страницу). У меня есть отображаемое имя и адрес электронной почты, которые выводятся на странице входа. Я хочу использовать эти данные для отображения в моем ящике. Есть ли способ получить доступ к этим переменным со страницы входа в систему и использовать их также на главной странице.
Вот моя функция входа в Google.
Future <String> signInWithGoogle() async {
final GoogleSignInAccount googleSignInAccount = await googleSignIn.signIn();
final GoogleSignInAuthentication googleSignInAuthentication = await googleSignInAccount.authentication;
final AuthCredential credential = GoogleAuthProvider.getCredential(accessToken: googleSignInAuthentication.accessToken, idToken: googleSignInAuthentication.idToken,);
final AuthResult authResult = await _auth.signInWithCredential(credential);
final FirebaseUser user = authResult.user;
assert(!user.isAnonymous);
assert(await user.getIdToken() != null);
final FirebaseUser currentUser = await _auth.currentUser();
assert(user.uid == currentUser.uid);
print("signed in " + user.displayName);
print("signed in " + user.email);
return 'signInWithGoogle succeeded: $user';
}
Я вошел в систему с помощью Gmail. и получил вывод как.
I/flutter (15019): signed in Shero thehero
I/flutter (15019): signed in aakashsrh@gmail.com
Вот код моей домашней страницы.
class Homepage extends StatefulWidget {
TextEditingController _searchController =TextEditingController();
Future signOutGoogle() async{
await googleSignIn.signOut();
print("User Sign Out");
}
@override
_HomepageState createState() => _HomepageState();
}
class _HomepageState extends State<Homepage> {
TextEditingController _searchController =TextEditingController();
@override
void initState() {
super.initState();
}
в то время как в приложении я получаю вывод NULL, в то время как я запускаю следующий код.
new UserAccountsDrawerHeader(
accountName: Text("${user?.displayName}"),
accountEmail: Text('user?.email'),
currentAccountPicture: GestureDetector(
child:new CircleAvatar(
backgroundColor: Colors.blueGrey,
child: Icon(Icons.person,color: Colors.white,),
),
),
вот вывод для кода в моем ящике