getPermissionStatus method

Future<NotificationPermissionStatus> getPermissionStatus()

Gets the current notification permission status.

Returns the permission status without showing a prompt.

Implementation

Future<NotificationPermissionStatus> getPermissionStatus() async {
  try {
    final settings = await FirebaseMessaging.instance.getNotificationSettings();

    switch (settings.authorizationStatus) {
      case AuthorizationStatus.authorized:
        return NotificationPermissionStatus.authorized;
      case AuthorizationStatus.denied:
        return NotificationPermissionStatus.denied;
      case AuthorizationStatus.notDetermined:
        return NotificationPermissionStatus.notDetermined;
      case AuthorizationStatus.provisional:
        return NotificationPermissionStatus.provisional;
    }
  } catch (e, stackTrace) {
    loge(e, 'Error getting permission status', stackTrace);
    _onError?.call('Error getting permission status: $e', stackTrace);
    return NotificationPermissionStatus.notDetermined;
  }
}