我目前正在将我的一个项目从Xamarin.Forms迁移到. NET MAUI。因此,由于Android. Net. Uri(Notification.SetSound(uri, attributes);
需要)和MAUI中使用的System. Uri不兼容,我很难将NotificationChannel的创建迁移到MAUI。
NotificationChannel应具有特定的通知声音,位于项目的resources文件夹中。
Xamarin表中使用了以下代码:
var alarmAttributes = new AudioAttributes.Builder()
.SetContentType(AudioContentType.Sonification)
?.SetUsage(AudioUsageKind.Alarm)
?.Build();
Android.Net.Uri alarmUri =
Android.Net.Uri.Parse(
$"{ContentResolver.SchemeAndroidResource}://{ApplicationContext?.PackageName}/{Resource.Raw.alarm}");
var alarmChannel = new NotificationChannel(id: Constants.AlarmNotificationChannel,
name: "Alarm",
importance: NotificationImportance.Max)
{
Description = "Highest priority notifications appear in this channel"
};
alarmChannel.EnableLights(true);
alarmChannel.EnableVibration(true);
alarmChannel.SetBypassDnd(true);
alarmChannel.SetShowBadge(true);
alarmChannel.SetSound(alarmUri, alarmAttributes);
notificationChannels.Add(alarmChannel);
是否可以在. NET MAUI下设置通知频道的声音?如何实现这一目标?
先谢了!
1条答案
按热度按时间0kjbasz61#
您的代码运行在Xamarin.Android中,在maui中调用Android的代码必须尝试使用handler,MAUI中的Handler系统用于处理不同平台的原生控件的实现,如果要创建控件,只需创建基于不同平台的handler即可。
您可以访问此链接:Create a custom control using handlers.
GitHub上有一个方法:Plugin.LocalNotification。本地通知插件提供了一种显示来自. Net MAUI的本地通知的方式。其中一个这样的特性是Maui平台支持的自定义声音。
插件。本地通知在NuGet上可用:https://www.nuget.org/packages/Plugin.LocalNotification.
希望能帮到你。