requestAllPermissions method

Future<(NotificationFailure?, PermissionStatus)> requestAllPermissions([
  1. PermissionRequestConfig config = const PermissionRequestConfig()
])

Requests all notification permissions with comprehensive handling.

This method handles:

  • Basic notification permissions
  • Platform-specific permissions (POST_NOTIFICATIONS on Android 13+)
  • Critical alerts permission (iOS)
  • Exact alarm permissions (Android 12+)
  • Optional settings navigation when requests fail

Implementation

Future<(NotificationFailure?, PermissionStatus)> requestAllPermissions([
  PermissionRequestConfig config = const PermissionRequestConfig(),
]) async {
  if (config.maxRetries < 0) {
    return (
      NotificationFailure.invalidInput(
        details: 'maxRetries cannot be negative',
      ),
      PermissionStatus.denied,
    );
  }

  return _performPermissionRequest(config, 0);
}