SecurityException crash on Android 12+ when SCHEDULE_EXACT_ALARM special access not user-granted. Now checks canScheduleExactAlarms() and falls back to setAndAllowWhileIdle() (inexact, no special permission needed). Both schedule() and cancel() wrapped in try/catch to prevent future alarm crashes.