我正在使用flutter和firebase制作应用程序。我需要从firebase获取活动用户。
我尝试创建一个名为isActive = false的firebase集合布尔字段,并在此函数中启动名为_checkInternetConnectivity();的功能。在这个函数中,当互联网连接可用时,设置isActive = true在firebase中更新值,当没有互联网连接时,更新值isActive = false到目前为止我的代码完美运行,但问题是当互联网连接可用时,它将isActive = true的值设为真,但当没有互联网连接时,无法更新值isActive = false。
代码在此处:
代码在此处:
void initState() {
super.initState();
_checkInternetConnectivity();
}
_checkInternetConnectivity() async {
var connectivityResult = await (Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.mobile) {
FirebaseFirestore.instance.collection('Profile').doc(user.uid).update({
'isActive': true,
});
print('done mobile');
} else if (connectivityResult == ConnectivityResult.wifi) {
_addData.doc(user.uid).update({
'isActive': true,
});
print('done wifi');
} else if (connectivityResult == ConnectivityResult.none) {
FirebaseFirestore.instance.collection('Profile').doc(user.uid).update({
'isActive': false,
});
print('done none');
}
}
}
那么,我该如何改进这段代码或通过其他方式在Flutter中从Firebase获取活跃用户?
谢谢。