2016-08-16 61 views
0

我正在处理一个Windows Phone 8.1 silverlight应用程序,原始通知处理。WP8.1 silverlight - 通知激活事件不被称为

当在前景接收通知该应用,有取消的通知,并使用ToastNotificationManager.CreateToastNotifier().

它也有一个backgroundtask到对原始通知工作在背景接收,它转换接收到的原始通知新通知吐司通知使用ToastNotificationManager.CreateToastNotifier().

还有一些操作需要在点击此通知时执行。

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

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

+0

通过原始通知敬酒敲打你实际上意味着RAW或Toast通知(这是WP中的两种不同类型的通知 – ad1Dima

+0

我的意思是只有原始通知,因为在WP8.1中只有原始通知触发backgroundtasks – Tulika

回答

2

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

<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> 

当你在默认情况下会打开你的应用程序的Page2.xaml并通过URI参数,它

+0

好的,但是为什么不能从Activated事件导航到Page2?限制WP8.1 silverlight应用程序? – Tulika

+0

@Tulika我不明白你的目标 – ad1Dima

+0

目前执行操作A的逻辑是d一个来自前台或后台任务的激活事件以进行toastnotification。 您提出的替代方案需要我在toast xml中添加参数,我的问题是我们能否仅通过吐司的激活事件来实现动作A? – Tulika