Xamarin文档在整个Internet上都是一片混乱,但是我似乎找不到一个可靠的示例来说明如何处理从通知启动的Xamarin.Forms应用程序或如何在应用程序已经运行时处理单击的通知。
因此,我位于Xamarin.Forms.UWP
文件中App.xaml.cs
应用程序的内部,该文件处理所有UWP启动。在OnActivated
方法中,我可以看到我的应用程序发生火灾并从我的敬酒通知中获取了正确的数据。我的问题是如何将数据传递回Xamarin.Forms实例。
protected override void OnActivated(IActivatedEventArgs args)
{
base.OnActivated(args);
var _args = (args as LaunchActivatedEventArgs).Arguments;
}
自定义UWP通知服务:
ToastContent content = new ToastContent()
{
Launch = "...",
Visual = new ToastVisual()
{
BindingGeneric = new ToastBindingGeneric()
{
Children =
{
new AdaptiveText()
{
Text = title,
HintMaxLines = 1
},
new AdaptiveText()
{
Text = body
}
}
}
},
Actions = new ToastActionsCustom()
{
Buttons =
{
new ToastButton(acceptAction.Key, $"action={acceptAction.Value}")
{
ActivationType = ToastActivationType.Foreground
},
new ToastButton(declineAction.Key, $"action={declineAction.Value}")
{
ActivationType = ToastActivationType.Background
}
}
}
};
var toast = new ToastNotification(content.GetXml());
ToastNotificationManager.CreateToastNotifier().Show(toast);
如何将这个_args变量发送回我的跨平台应用程序的运行实例中,以便我可以处理导航到路线等的逻辑。
此外,如果我必须编写一些自定义代码来处理此问题,我希望该代码也易于在功能上与该项目中的Xamarin.Forms.Android应用程序集成。