Basically when we are writing a code for any Native applications, We will look for a life cycle events to handle some specific scenarios. Its like handling Thanos gauntlet snap to blip 😇😇
Flutter comes with life cycle events to handle app life cycle for android & ios.
Let's see the code.
To consume the life cycle event, we need to have Stateful widget with WidgetsBindingObserver mixin.
class _HomePageState
extends State<HomePage>
with WidgetsBindingObserver {
The mixin WidgetsBindingObserver provides an override didChangeAppLifecycleState where we will notified for certain app life cycle state changes.
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
switch (state) {
case AppLifecycleState.resumed:
print('app resumed');
break;
case AppLifecycleState.paused:
print('app paused');
break;
case AppLifecycleState.inactive:
print('app inactive');
break;
case AppLifecycleState.detached:
default:
print('app detached');
break;
}
}
Finally to get work all these stuff, we need to inform or observe the app life cycle changes using
@override
void initState() {
super.initState();
WidgetsBinding.instance!.addObserver(this);
}
Ofcourse dont forget to remove observer on dispose
@override
void dispose() {
super.dispose();
WidgetsBinding.instance!.removeObserver(this);
}
That's it, we can now handle the app as per the app lifecycle.
For Full sample Github
Happy Fluttering 😇😇
Top comments (0)