2016-08-16 24 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