@override
void initState() {
WidgetsBinding.instance.addObserver(this);
super.initState();
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
// TODO: implement didChangeAppLifecycleState
UpPrint(name: "CheckUserStatus", value: "Before");
print(state);
UpPrint(name: "CheckUserStatus", value: "After");
if (state == AppLifecycleState.resumed) {
//TODO: set status to online here in firestore
UpPrint(name: "CheckUserStatus", value: "Online");
UpFirebaseDB.updateUserStatus(status: true);
} else {
//TODO: set status to offline here in firestore
UpFirebaseDB.updateUserStatus(status: false);
UpPrint(name: "CheckUserStatus", value: "Offline");
}
}
Примечание. Я использовал InitialRoute: '/', onGenerateRoute: UpRoutes.onGenerateRoute для навигации по страницам и использую Getx для управления состоянием.
Спасибо заранее.
didChangeAppLifecycleState не работает. Я проверил все остальные вопросы, связанные с этим, но они не помогли. [code] @override void initState() { WidgetsBinding.instance.addObserver(this); super.initState(); }
@override void didChangeAppLifecycleState(AppLifecycleState state) { // TODO: implement didChangeAppLifecycleState UpPrint(name: "CheckUserStatus", value: "Before"); print(state); UpPrint(name: "CheckUserStatus", value: "After"); if (state == AppLifecycleState.resumed) { //TODO: set status to online here in firestore UpPrint(name: "CheckUserStatus", value: "Online"); UpFirebaseDB.updateUserStatus(status: true); } else { //TODO: set status to offline here in firestore UpFirebaseDB.updateUserStatus(status: false); UpPrint(name: "CheckUserStatus", value: "Offline"); } } [/code] Примечание. Я использовал InitialRoute: '/', onGenerateRoute: UpRoutes.onGenerateRoute для навигации по страницам и использую Getx для управления состоянием. Спасибо заранее.