0

我的应用程序使用 WNS 服务器从 PHP 接收 toast。现在我想在单击下面列出的 toast 时执行一些操作。当应用程序未激活时 - 用户应重定向到应用程序“ShowPage”上的页面。当应用程序处于活动状态时 - toast 应显示两个按钮“显示”和“取消”。单击显示按钮时,应用程序应重定向到“ShowPage”

我目前的 PHP 祝酒词是

 $toastMessage= '<?xml version="1.0" encoding="utf-8"?>'.
 '<toast launch="">'.
 '<visual baseUri="">'.
    '<binding template="ToastGeneric">'.
       '<text>'.$subtitle.'</text>'.
    '</binding>'.
'</visual>'.
'<actions />'.
'</toast>';

我在 App.xaml.cs 上调用下面的函数

 private async void RegisterEngagementNotification()
    {
        StoreServicesEngagementManager engagementManager = StoreServicesEngagementManager.GetDefault();
        await engagementManager.RegisterNotificationChannelAsync();
    }
4

2 回答 2

2

请参阅有关发送本地 toast 和处理激活的文档。一切都适用于那里(除了您从服务器发送 toast,但添加按钮和处理激活保持不变)。

于 2018-02-08T17:25:26.403 回答
1

我看到您正在使用StoreServicesEngagementManagerAPI,然后我知道您正在从 Windows 开发人员仪表板发送 toast 通知。因此,如果您希望 toast 包含两个按钮,则需要添加如下操作:

在此处输入图像描述

在此处输入图像描述

然后,在您的“App.xaml.cs”文件中,您需要添加一些代码来处理OnActivated.

protected override void OnActivated(IActivatedEventArgs args)
{
    Frame rootFrame = Window.Current.Content as Frame;
    if (rootFrame == null)
    {
        rootFrame = new Frame();
    }
    base.OnActivated(args);
    var toastActivationArgs = args as ToastNotificationActivatedEventArgs;
    if (toastActivationArgs.Argument =="ShowPage")
    {
        rootFrame.Navigate(typeof(ShowPage));
    }
}
于 2018-03-05T09:44:47.430 回答