1

我在我的 Windows Phone 8.1 应用程序中实现推送通知时遇到了一些问题。我这样检索了一个 Channel URI:

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

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

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

我在这里错过了一些明显的论点吗?

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

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

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

1 回答 1

1

您可以尝试在标签中添加“启动”参数吗?您应该在 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>";
于 2017-05-31T12:29:51.617 回答