In my NET8
MAUI
apps, I want to send a local notification every day to remind the user to use the app. For that, I’m using the component Plugin.LocalNotification. For Android, in the AndroidManifest.xml, I added those lines
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!--Required so that the plugin can reschedule notifications upon a reboot-->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
Then I created a service to manage the notification and checked if the user gave the consent to use the app.
var notifyDateTime = DateTime.Parse($"{DateTime.Now.ToShortDateString()} {settings.StudyAlertTime}");
var notification = new NotificationRequest
{
NotificationId = 100,
Title = AppResources.NotificationsTitle,
Description = AppResources.NotificationDescription,
CategoryType = NotificationCategoryType.Alarm,
Android = new Plugin.LocalNotification.AndroidOption.AndroidOptions
{
AutoCancel = true,
IconSmallName =
{
ResourceName = "noti_liulogo",
},
IconLargeName =
{
ResourceName = "liulogo",
},
LaunchAppWhenTapped = true,
Priority = AndroidPriority.High
},
iOS =
{
HideForegroundAlert = true,
PlayForegroundSound = true
},
Schedule =
{
NotifyTime = notifyDateTime,
RepeatType = NotificationRepeat.Daily
}
};
await _notificationService.Show(notification);
When the app runs this code, the user is redirected to the system page to enable Alarms and reminders but the switch is disabled.
What have I done wrong?