import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; class LifecycleEventHandler extends WidgetsBindingObserver { LifecycleEventHandler({ this.resumeCallBack, this.suspendingCallBack, }); final AsyncCallback? resumeCallBack; final AsyncCallback? suspendingCallBack; @override Future didChangeAppLifecycleState(AppLifecycleState state) async { switch (state) { case AppLifecycleState.resumed: if (resumeCallBack != null) { await resumeCallBack!(); } break; case AppLifecycleState.inactive: case AppLifecycleState.paused: case AppLifecycleState.detached: if (suspendingCallBack != null) { await suspendingCallBack!(); } break; } } }