didChangeAppLifecycleState method
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:
- AppLifecycleListener, an alternative API for responding to application lifecycle changes.
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);
}