这是我的有状态类代码:
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相同。
答案 0 :(得分:0)
调用FirebaseAuth.instance.currentUser()
返回一个FirebaseUser
,它是具有 all 个用户数据的对象。如果您只想使用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
。