Essentials
Essentials copied to clipboard
Unable to Grant ScheduleExactAlarm permission.
Description
Android 12 introduced the ScheduleExactAlarm permission and to get access that to that in Andorid 12,13 and 14 I have written a custom Permission as per the "extending" docs.
public interface IScheduleExactNotificationPermission
{
Task<PermissionStatus> CheckStatusAsync();
Task<PermissionStatus> RequestAsync();
}
With an implementation in Android of
public class ScheduleExactNotificationPermission : BasePlatformPermission, IScheduleExactNotificationPermission
{
public override (string androidPermission, bool isRuntime)[] RequiredPermissions => new List<(string androidPermission, bool isRuntime)>
{
(Android.Manifest.Permission.ScheduleExactAlarm, true),
}.ToArray();
}
AssemblyInfo.cs in Adroid target has these two permission declarations
[assembly: UsesPermission(Android.Manifest.Permission.ScheduleExactAlarm)]
[assembly: UsesPermission(Android.Manifest.Permission.UseExactAlarm)]
Steps to Reproduce
- In our common code I call it like this,
var status = await this.scheduleExactNotificationPermission.CheckStatusAsync();
if (status != PermissionStatus.Granted)
{
status = await this.scheduleExactNotificationPermission.RequestAsync();
}
- In Android 12 status is Granted, Android 13 Granted but in Android 14 status is Denied after the call to RequestAccess. As I understand it the permission only had to be requested from Android 14 onwards.
Expected Behavior
An OS Dialog that allows me as a user to Grant permission
Actual Behavior
Nothing other than an immediate call back into OnRequestPermissionsResult with the following args requestCode 12001 permissions android.permission.SCHEDULE_EXACT_ALARM grantResults -1
This happens on a fresh install too so is not simply becvause it has been asked many times before and denied
Basic Information
- Version with issue: Xamarin Essentials 1.8.1
- Last known good version: New code
- IDE: VS2022 17.9.0
- Platform Target Frameworks:
- iOS:
- Android: 33
- UWP:
- Android Support Library Version:
- Nuget Packages:
- Affected Devices: