Документация Xamarin - беспорядок во всем Интернете, но я не могу найти надежного примера того, как обрабатывать приложение 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 в этом проекте.а также.