WidgetsBindingObserver class Null safety

Interface for classes that register with the Widgets layer binding.

When used as a mixin, provides no-op method implementations.

See WidgetsBinding.addObserver and WidgetsBinding.removeObserver.

This class can be extended directly, to get default behaviors for all of the handlers, or can used with the implements keyword, in which case all the handlers must be implemented (and the analyzer will list those that have been omitted).

This StatefulWidget implements the parts of the State and WidgetsBindingObserver protocols necessary to react to application lifecycle messages. See didChangeAppLifecycleState.
class AppLifecycleReactor extends StatefulWidget {
  const AppLifecycleReactor({ Key? key }) : super(key: key);

  @override
  State<AppLifecycleReactor> createState() => _AppLifecycleReactorState();
}

class _AppLifecycleReactorState extends State<AppLifecycleReactor> with WidgetsBindingObserver {
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance!.addObserver(this);
  }

  @override
  void dispose() {
    WidgetsBinding.instance!.removeObserver(this);
    super.dispose();
  }

  late AppLifecycleState _notification;

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    setState(() { _notification = state; });
  }

  @override
  Widget build(BuildContext context) {
    return Text('Last notification: $_notification');
  }
}

To respond to other notifications, replace the didChangeAppLifecycleState method above with other methods from this class.

Implementers

Constructors

WidgetsBindingObserver()

Properties

hashCode int
The hash code for this object. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

didChangeAccessibilityFeatures() → void
Called when the system changes the set of currently active accessibility features. [...]
didChangeAppLifecycleState(AppLifecycleState state) → void
Called when the system puts the app in the background or returns the app to the foreground. [...]
didChangeLocales(List<Locale>? locales) → void
Called when the system tells the app that the user's locale has changed. For example, if the user changes the system language settings. [...]
didChangeMetrics() → void
Called when the application's dimensions change. For example, when a phone is rotated. [...]
didChangePlatformBrightness() → void
Called when the platform brightness changes. [...]
didChangeTextScaleFactor() → void
Called when the platform's text scale factor changes. [...]
didHaveMemoryPressure() → void
Called when the system is running low on memory. [...]
didPopRoute() Future<bool>
Called when the system tells the app to pop the current route. For example, on Android, this is called when the user presses the back button. [...]
didPushRoute(String route) Future<bool>
Called when the host tells the application to push a new route onto the navigator. [...]
didPushRouteInformation(RouteInformation routeInformation) Future<bool>
Called when the host tells the application to push a new RouteInformation and a restoration state onto the router. [...]
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toString() String
A string representation of this object. [...]
inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
inherited