0

我正在开发一个 Windows Phone 8.1 silverlight 应用程序,处理原始通知。

应用程序在前台收到通知时,必须取消通知并使用创建新通知ToastNotificationManager.CreateToastNotifier().

它还可以backgroundtask处理在后台收到的原始通知,它将收到的原始通知转换为 toast 通知,使用ToastNotificationManager.CreateToastNotifier().

单击此通知时还需要执行一些操作 A。

当应用程序在前台收到通知时会出现此问题,但在暂停应用程序后单击通知。由于注册的此类通知的激活事件不在后台任务中(因为通知是在前台逻辑中形成的),所以点击通知时不执行任何动作A。

WP8.1 silverlight对于应用程序,这似乎是一个限制。有人可以为这个问题提出解决方案吗?

4

1 回答 1

2

如果您需要在点击 Toast 后执行一些操作,您应该将 wp:Param 添加到您的 Toast 中,并在您的应用程序中处理。吐司看起来像

<wp:Notification xmlns:wp=\"WPNotification\">
    <wp:Toast>
        <wp:Text1>You title</wp:Text1>
        <wp:Text2>Your subtitle</wp:Text2>" +
        <!-- You can add any parameter you want in deep url -->
        <wp:Param>/Page2.xaml?NavigatedFrom=Toast Notification</wp:Param>
    </wp:Toast>
</wp:Notification>

当您点击 toast 时,默认情况下它将打开您的应用程序的 Page2.xaml 并将 uri 参数传递给它

于 2016-08-16T06:18:17.840 回答