【发布时间】:2021-07-16 08:58:57
【问题描述】:
我正在使用 Flutter 和 Firebase 制作应用程序。我需要从 firebase 获得活跃用户。
我正在尝试通过在名称为 isActive = false 的 Firebase 集合中创建一个布尔字段并在该函数中启动一个名称为 _checkInternetConnectivity(); 的函数,我在该函数中设置了 Internet 连接Firebase 中 isActive = true 的可用更新值,当没有互联网连接更新值 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 获得活跃用户的方式。
问候
【问题讨论】:
标签: android flutter android-studio dart google-cloud-firestore