didChangeAppLifecycleState method

  1. @override
void didChangeAppLifecycleState(
  1. AppLifecycleState state
)
override

Called when the system puts the app in the background or returns the app to the foreground.

An example of implementing this method is provided in the class-level documentation for the WidgetsBindingObserver class.

This method exposes notifications from SystemChannels.lifecycle.

See also:

Implementation

@override
void didChangeAppLifecycleState(AppLifecycleState state) async {
  if (state == AppLifecycleState.resumed &&
      _permissionState != null &&
      !_askingForPermission) {
    _askingForPermission = true;

    try {
      final newPermissionState = await PhotoManager.requestPermissionExtend();
      if (newPermissionState != _permissionState && mounted) {
        setState(() {
          _permissionState = newPermissionState;
        });
      }
    } catch (_) {}

    _askingForPermission = false;
  }
  super.didChangeAppLifecycleState(state);
}