如何将FirebaseUser转换为flutter中的字符串?

问题描述 投票:0回答:1

这是我的有状态类的代码:

String id = FirebaseAuth.instance.currentUser().toString();

我的功能:

readLocal() async {
  prefs = await SharedPreferences.getInstance();
  id = prefs.getString('id') ?? '';
  if (id.hashCode <= peerId.hashCode) {
    groupChatId = '$id-$peerId';
  } else {
    groupChatId = '$peerId-$id';
  }
  setState(() {});
}

它在String id工作正常。

我希望ID与当前用户UID相同。

flutter firebase-authentication
1个回答
0
投票

调用FirebaseAuth.instance.currentUser()返回一个FirebaseUser,它是一个包含所有用户数据的对象。如果你只想要UID of the user

FirebaseUser user = await FirebaseAuth.instance.currentUser();
String uid = user.uid;

更新:我刚刚运行它,它为我打印UID:

void _getUser() async {
  FirebaseUser user = await FirebaseAuth.instance.currentUser();
  print(user.uid);
}

哪个印刷:

颤振:P07IXLCrwEahYlDhzO1Iv0SKDat2

需要注意的事项:

  • 为了能够在代码中使用await,该方法必须标记为async
© www.soinside.com 2019 - 2024. All rights reserved.