WIndows Phone 8.1 WNS从Toast传数据到App

WIndows Phone 8.1 WNS Pass data from Toast to App

我在 Windows Phone 8.1 应用程序中实施推送通知时遇到一些问题。我已经检索到一个频道 URI:

var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
return channel.Uri;

我可以将 Toast 通知发送到我的设备,但是当我打开应用程序时,我无法访问有关此推送通知的任何信息。通常会有某种 'Launch arguments' 或类似的东西,但是当我通过点击 Toast 启动时,我发现没有任何东西可以提供。

我读过一些 post,其中有人建议我覆盖 App.OnLaunched(LaunchActivatedEventArgs),但这也不起作用。在我手动启动应用程序和通过点击推送通知启动应用程序之间,参数值没有变化。

我是不是漏掉了一些明显的论点?

澄清一下:我可以看到我的推送通知正在设备本身上接收,但我无法将推送通知中的数据传递到我的应用程序中(点击启动的通知后我的应用程序)。

我post发送推送通知的XML内容如下:

string xml = $@"
<toast>
    <visual>
        <binding template=""ToastText02"">
            <text id=""1"">{pushNotification.Title}</text>
            <text id=""2"">{pushNotification.Message}</text>
        </binding>
    </visual>
</toast>";

能否尝试在代码中添加一个 "launch" 参数?你应该在 LaunchActivatedEventArgs.Arguments 里面看到它然后:

string xml = $@"
    <toast launch=""ActivatedByToast"">
        <visual>
            <binding template=""ToastText02"">
                <text id=""1"">{pushNotification.Title}</text>
                <text id=""2"">{pushNotification.Message}</text>
            </binding>
        </visual>
    </toast>";