diff --git a/lib/src/qr_code_scanner.dart b/lib/src/qr_code_scanner.dart index 22a62dc..67ee443 100644 --- a/lib/src/qr_code_scanner.dart +++ b/lib/src/qr_code_scanner.dart @@ -59,18 +59,20 @@ class QRView extends StatefulWidget { class _QRViewState extends State { var _channel; + var _observer; @override void initState() { super.initState(); - WidgetsBinding.instance.addObserver(LifecycleEventHandler( + _observer = LifecycleEventHandler( resumeCallBack: () async => { if (_channel != null) { QRViewController.updateDimensions(widget.key, _channel, overlay: widget.overlay) } - })); + }); + WidgetsBinding.instance.addObserver(_observer); } @override @@ -85,6 +87,12 @@ class _QRViewState extends State { ); } + @override + void dispose() { + super.dispose(); + WidgetsBinding.instance.removeObserver(_observer); + } + bool onNotification(notification) { Future.microtask(() => { QRViewController.updateDimensions(widget.key, _channel,