1using Microsoft.Maui.Controls.Shapes;
11 internal sealed
class PermissionService : IPermissionService
13 public PermissionService()
22 private static async Task<PermissionStatus> CheckAndRequestPermissionAsync<TPermission>()
23 where TPermission : Permissions.BasePermission, new()
27 PermissionStatus Status = await Permissions.CheckStatusAsync<TPermission>();
31 if ((Status == PermissionStatus.Denied && DeviceInfo.Platform != DevicePlatform.iOS) ||
32 Status == PermissionStatus.Unknown)
34 Status = await Permissions.RequestAsync<TPermission>();
40 return PermissionStatus.Unknown;
48 public async Task<bool> CheckNotificationPermissionAsync(
bool SkipRequest =
false)
50 PermissionStatus Status;
58 Status = await CheckAndRequestPermissionAsync<NotificationPermission>();
61 if (Status == PermissionStatus.Granted)
73 await ServiceRef.PopupService.PushAsync(PermissionPopup);
81 Status = await CheckAndRequestPermissionAsync<NotificationPermission>();
84 return Status == PermissionStatus.Granted;
91 public async Task<bool> CheckCameraPermissionAsync()
93 PermissionStatus Status = await CheckAndRequestPermissionAsync<Permissions.Camera>();
95 if (Status == PermissionStatus.Granted)
100 string DescriptionSecondary;
101 Geometry IconGeometry;
103 if (OperatingSystem.IsAndroid())
107 DescriptionSecondary =
111 else if(OperatingSystem.IsIOS())
115 DescriptionSecondary =
123 DescriptionSecondary =
131 await ServiceRef.PopupService.PushAsync(PermissionPopup);
133 Status = await CheckAndRequestPermissionAsync<Permissions.Camera>();
135 return Status == PermissionStatus.Granted;
A strongly-typed resource class, for looking up localized strings, etc.
static string Notifications
Looks up a localized string similar to Notifications.
static string NotificationPopupDescription
Looks up a localized string similar to Don’t miss important activity..
static string NotificationPopupDescriptionSecondary
Looks up a localized string similar to Turn on notifications in your device settings to receive alert...
static string CameraPermissionDescription
Looks up a localized string similar to To use this feature, please enable camera access in your setti...
static string CameraPermissionDescriptionSecondary
Looks up a localized string similar to Open settings - Click on "Permissions" - Enable Camera Permiss...
static string iOS_CameraPermissionDescriptionSecondary
Looks up a localized string similar to Open settings - Enable Camera Permissions.
static string CameraPermissionTitle
Looks up a localized string similar to Camera.
Static class containing SVG Paths for symbols used in the app.
static readonly Geometry CameraPhotoButtonPath
Take photo
static readonly Geometry NotificationIconPath
Notification Icon