diff --git a/lib/main.dart b/lib/main.dart index a88c43d..badec0e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -173,6 +173,7 @@ class _HomeScreenState extends State { Timer? _alarmTimer; Future _scheduleAlarm() async { + // Ensure that Android has the correct permissions enabled. final canSchedule = await android?.canScheduleExactNotifications(); if (canSchedule != true) { _showSnack('Permissions not yet granted, requesting...'); @@ -220,7 +221,7 @@ class _HomeScreenState extends State { _showSnack( 'Alarm set for ${alarmTime.hour.toString().padLeft(2, '0')}:${alarmTime.minute.toString().padLeft(2, '0')} (app must stay open)', ); - } else { + } else if (Platform.isAndroid) { // Android: use zonedSchedule (works in background) final tzAlarm = tz.TZDateTime.from(alarmTime, tz.local); const androidDetails = AndroidNotificationDetails( @@ -243,6 +244,8 @@ class _HomeScreenState extends State { UILocalNotificationDateInterpretation.absoluteTime, ); _showSnack('Alarm scheduled.'); + } else { + _showSnack('Platform not detected, unsure how to show alarm.'); } }