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)