Xamarin iOS中的本地通知AlertAction始终为空

Xamarin iOS中的本地通知AlertAction始终为空,xamarin,xamarin.ios,xamarin.forms,uilocalnotification,Xamarin,Xamarin.ios,Xamarin.forms,Uilocalnotification,我想向用户显示通知,但标题总是空的。问题是通知。AlertAction在显示通知之前为空 okayAlertController.AddAction(UIAlertAction.Create(notification.AlertAction, UIAlertActionStyle.Default, null)); public override void ReceivedLocalNotification(UIApplication应用程序,UILocalNotification通知) { /

我想向用户显示通知,但标题总是空的。问题是通知。AlertAction在显示通知之前为空

okayAlertController.AddAction(UIAlertAction.Create(notification.AlertAction, UIAlertActionStyle.Default, null));
public override void ReceivedLocalNotification(UIApplication应用程序,UILocalNotification通知)
{
//notification.AlertAction为null!!!而notification.AlertBody是正确的
UIAlertController okayAlertController=UIAlertController.Create(notification.AlertAction、notification.AlertBody、UIAlertControllerStyle.Alert);
AddAction(UIAlertAction.Create(“OK”,UIAlertActionStyle.Default,null));
Window.RootViewController.PresentViewController(okayAlertController,true,null);
UIApplication.SharedApplication.ApplicationIconBadgeNumber=0;
}
我正在设置notification.AlertAction和notification.AlertBody:

公共类通知服务\u iOS:INotificationService
{
公共作废通知(字符串标题、字符串文本)
{
var notification=new UILocalNotification();
notification.FireDate=NSDate.FromTimeIntervalSinceNow(0);
notification.AlertAction=标题;
notification.AlertBody=文本;
notification.applicationBadgeNumber=1;
notification.SoundName=UILocalNotification.DefaultSoundName;
UIApplication.SharedApplication.ScheduleLocalNotification(通知);
}
}

我遵循了这个教程:

对于这个部分,Xamarin中似乎有一个bug。我尝试了你的代码,事实上,不管你设置了什么,AlertAction总是空的,但这只发生在使用iOS 10+的设备上运行代码时。在iOS 9.3的模拟器中运行相同的代码,一切正常

一直在查找Xamarin.iOS代码,但无法解决任何奇怪的问题,因此下一步将打开一个问题

有一件事:对于您的特定示例,您可以使用AlertTitle

public void Notify(string title, string text)
{
    var notification = new UILocalNotification();
    notification.FireDate = NSDate.FromTimeIntervalSinceNow(0);
    notification.AlertTitle = title;
    notification.AlertBody = text;
     // Use this if you want to set the Action Text from here.
    notification.AlertAction = "Got it!!";
    notification.ApplicationIconBadgeNumber = 1;
    notification.SoundName = UILocalNotification.DefaultSoundName;
    UIApplication.SharedApplication.ScheduleLocalNotification(notification);
}

这实际上是设置通知标题的属性。AlertAction用于操作文本,以防您想从通知中设置一个

okayAlertController.AddAction(UIAlertAction.Create(notification.AlertAction, UIAlertActionStyle.Default, null));
但是,由于您目前只使用“Ok”,在真正的问题解决之前,您不应该有任何问题

希望这有帮助