.NET 7 MAUI使用Plugin.LocalNotification发送通知无响应求助
解决.NET 7 MAUI中Plugin.LocalNotification推送无反应的问题
1. 添加Android平台权限
在Platforms/Android/AndroidManifest.xml中添加必要的通知权限:
<!-- Android 13+ 必需的通知权限 --> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <!-- 可选:用于通知振动的权限 --> <uses-permission android:name="android.permission.VIBRATE" />
2. 运行时请求通知权限
Android 13+ 和 iOS 都要求在运行时主动请求通知权限,修改MainPage.cs添加权限请求逻辑:
using Plugin.LocalNotification; namespace MauiApp2 { public partial class MainPage : ContentPage { int count = 0; public MainPage() { InitializeComponent(); _ = RequestNotificationPermission(); } private async Task RequestNotificationPermission() { var permissionStatus = await LocalNotificationCenter.Current.RequestNotificationPermissionAsync(); if (permissionStatus != PermissionStatus.Granted) { await DisplayAlert("提示", "请授予通知权限以接收推送", "确定"); } } private void CounterClicked(object sender, EventArgs e) { var request = new NotificationRequest { NotificationId = 1337, Title = "subscribe", Subtitle = "please subscribe in our plateforme", BadgeNumber = 42, Description = "lorem epsum ichlibidish seni seviurum", Schedule = new NotificationRequestSchedule() { NotifyTime = DateTime.Now.AddSeconds(5), NotifyRepeatInterval = TimeSpan.FromDays(1) }, // Android 8.0+ 必需的通知通道配置 Android = new Plugin.LocalNotification.AndroidOption.AndroidOptions { ChannelId = "maui_notification_channel", ChannelName = "MAUI通知通道", ChannelDescription = "应用推送通知专用通道", Importance = Plugin.LocalNotification.AndroidOption.NotificationImportance.High } }; LocalNotificationCenter.Current.Show(request); } } }
3. 检查系统通知权限设置
- 模拟器/真机:进入系统设置→应用管理→找到你的MAUI应用→通知权限,确认已开启「允许通知」。
- 红米12C:小米机型可能存在额外的通知拦截规则,需确保应用未被加入通知黑名单。
4. 验证通知通道配置
Android 8.0(API 26)及以上版本必须为通知指定有效通道,否则通知无法显示。确保代码中ChannelId唯一,且Importance设置为High或Default,保证通知能正常弹出。
内容的提问来源于stack exchange,提问作者Oussama hdidou
相关产品推荐
相关产品推荐

