如何在传入推送通知时启动/恢复 Windows Phone 8.1 C# 应用
本文关键字:Windows 恢复 Phone 应用 启动 通知 | 更新日期: 2023-09-27 17:55:25
我正在WP 8.1上开发一个试点Windows运行时应用程序,该应用程序必须在传入的推送通知上向用户显示一些覆盖(或至少是MessageDialog)。
下面的代码显示了当应用程序处于前台并且 Toast 即将到来时的消息,但我找不到如何启动/恢复/do_whatever应用程序,当它在后台或可能是应用程序甚至根本没有启动或手机被锁定时。我在控制台日志中看到的 ATM,当应用程序进入后台时,仍然会收到 toast,但没有显示 UI 消息。
我有什么:
ToastCapable="true"
在应用程序清单中。
在某些 xaml.cs 文件中:
init() {
PushNotificationChannel channel
= await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
channel.PushNotificationReceived += OnPushNotificationReceived;
}
void OnPushNotificationReceived(PushNotificationChannel sender, PushNotificationReceivedEventArgs e) {
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
showToTheUser();
});
}
private async void showToTheUser() {
// TODO message to be replaced with full-screen overlay later
var messageDialog = new MessageDialog("Incoming push");
messageDialog.Commands.Add(new UICommand(
"Accept",
new UICommandInvokedHandler(this.CommandInvokedHandler)));
messageDialog.Commands.Add(new UICommand(
"Refuse",
new UICommandInvokedHandler(this.CommandInvokedHandler)));
messageDialog.DefaultCommandIndex = 0;
messageDialog.CancelCommandIndex = 1;
await messageDialog.ShowAsync();
}
private void CommandInvokedHandler(IUICommand command) {
if (command.Label.Equals("Accept")) {
// show some UI page of the app
}
}
我是一个经验丰富的Java人,刚开始使用WP和C#,所以我很困惑在WP上完成所有操作的正确方法是什么,或者我应该搜索什么。
如果我理解正确,您希望根据推送通知和显示信息启动应用程序。这在Windows Phone上是不可能的。用户可以单击通知横幅并打开应用程序,但您无法自动执行此操作。