davidortinau/maui-skills/maui-local-notifications
Claude Code and agent skill by davidortinau/maui-skills
- community
Checking that the SKILL.md file is still in the repository.
Add local notifications to .NET MAUI apps on Android, iOS, and Mac Catalyst. Covers notification channels, permissions, scheduling, foreground/background handling, and DI registration. Works with XAML/MVVM, C# Markup, and MauiReactor. USE FOR: "local notification", "schedule notification", "notification channel", "notification permission", "reminder notification", "alert notification", "in-app notification", "foreground notification". DO NOT USE FOR: push notifications from a server (use maui-push-notifications), permission handling only (use maui-permissions), or app lifecycle background tasks (use maui-app-lifecycle).
Install
npx vskill@latest install davidortinau/maui-skills/maui-local-notificationsSKILL.md
.NET MAUI Local Notifications
Implementation overview
- Define cross-platform
INotificationManagerServiceinterface and event args - Implement Android notification service (channel, AlarmManager, BroadcastReceiver)
- Implement iOS/Mac Catalyst notification service (UNUserNotificationCenter)
- Register platform implementations via DI
- Configure platform permissions and MainActivity
See references/local-notifications-api.md for full implementation code.
Platform gotchas
Android
| Issue | Fix | |
|---|---|---|
| Notifications silently fail on API 33+ | Must request POST_NOTIFICATIONS runtime permission first | |
PendingIntent crash on Android 12+ | Must include PendingIntentFlags.Immutable for API 31+ | |
| Scheduled notifications lost on reboot | AlarmManager does not survive device restart — re-schedule on boot via BOOT_COMPLETED receiver | |
| No notification appears | Channel not created — required on API 26+ (Android 8.0) | |
| Notification tap doesn't return to app | LaunchMode = LaunchMode.SingleTop must be set on MainActivity |
iOS / Mac Catalyst
| Issue | Fix | |
|---|---|---|
| No notification prompt appears | Permission already denied — user must re-enable in Settings | |
| Foreground notifications don't show | Must implement UNUserNotificationCenterDelegate and set Current.Delegate | |
Notification shows Alert not Banner | Use UNNotificationPresentationOptions.Banner on iOS 14+ |
Windows
⚠️ Windows App SDK supports toast notifications but scheduled notifications are not yet supported. Immediate notifications work.
DI registration — platform-specific only
Common anti-patterns
Decision framework
| Need | Approach | |
|---|---|---|
| Immediate notification | SendNotification(title, message) with null notifyTime | |
| Scheduled reminder | SendNotification(title, message, DateTime.Now.AddMinutes(30)) | |
| Persist across reboot (Android) | Add BOOT_COMPLETED receiver to re-schedule alarms | |
| Rich notifications (images, actions) | Extend platform implementations with native APIs | |
| Push notifications from server | Use a different pattern entirely (FCM/APNs) |
Quick checklist
- [ ] Cross-platform
INotificationManagerServiceinterface defined - [ ] Android: notification channel created (API 26+)
- [ ] Android:
POST_NOTIFICATIONSpermission in manifest + runtime request (API 33+) - [ ] Android:
PendingIntentFlags.Immutableused (API 31+) - [ ] Android:
MainActivityhasLaunchMode.SingleTopand handlesOnNewIntent - [ ] iOS:
UNUserNotificationCenterDelegateset for foreground display - [ ] iOS:
Bannerused instead ofAlerton iOS 14+ - [ ] DI registration uses
#ifplatform guards - [ ] UI updates from notification callbacks use
MainThread.BeginInvokeOnMainThread
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/maui-skills/skills/maui-local-notifications/SKILL.md
Popularity
- Repository stars
- 122
- Repository forks
- 16
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 22 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/davidortinau/maui-skills/maui-local-notifications)