在我当前的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()在应用未处于活动状态时会立即触发?我认为这是此功能的主要目的。
答案 0 :(得分:0)
变化
<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
上并且它可以正常工作。