UWP OnBackground使用PushNotificationTrigger激活(原始通知)

时间:2017-01-13 09:01:32

标签: c# background uwp push

在我当前的UWP项目中尝试通过原始推送通知触发OnBackgroundActivated()。注册如下:

var builder = new BackgroundTaskBuilder();
builder.Name = taskName;
builder.SetTrigger(new PushNotificationTrigger());
BackgroundTaskRegistration task = builder.Register();

当应用程序附加到Visual Studio并处于状态"恢复" (活动),然后在发送原始通知时调用OnBackgroundActivated()。我可以看到使用System.Diagnostics.Debug.WriteLine()。

当应用程序附加到Visual Studio并处于状态"暂停" (不活动),然后OnBackgroundActivated()不会被调用。但是一旦我将状态改回"恢复"使用我在应用程序未处于活动状态时发送的原始通知来调用OnBackgroundActivated()。就像原始通知排队一样,直到应用再次变为活动状态。

为什么OnBackgroundActivated()在应用未处于活动状态时会立即触发?我认为这是此功能的主要目的。

1 个答案:

答案 0 :(得分:0)

派对迟到但仍然可能会为某人节省2天。我遇到了同样的问题,在我的案例中,修复程序是将appxmanifest中的目标设备系列更改为最低14393。

变化

<TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.10586.0" MaxVersionTested="10.0.10586.0" />

<TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" />

表示所有节点。奇怪的是,如果您不使用特定的设备系列,而是使用通用设备系列,那么您可以将其保留在10.0.00000.0上并且它可以正常工作。