Windows phone 8.1 Windows phone 8.1系统触发的后台任务未注册
我正在尝试在我的windows phone 8.1应用程序中创建后台任务 由于某些原因,我的系统触发的后台任务从未注册。我没有收到错误,但任务不会出现在调试器的“我的生命周期事件”中 计时器触发的后台任务出现在生命周期事件中,没有问题。我甚至可以调试我的任务 这是我用来注册任务的代码。它在OnNavigatedTo中调用Windows phone 8.1 Windows phone 8.1系统触发的后台任务未注册,windows-phone-8.1,Windows Phone 8.1,我正在尝试在我的windows phone 8.1应用程序中创建后台任务 由于某些原因,我的系统触发的后台任务从未注册。我没有收到错误,但任务不会出现在调试器的“我的生命周期事件”中 计时器触发的后台任务出现在生命周期事件中,没有问题。我甚至可以调试我的任务 这是我用来注册任务的代码。它在OnNavigatedTo中调用 private void registerService() { foreach (var task in BackgroundTaskRegistr
private void registerService()
{
foreach (var task in BackgroundTaskRegistration.AllTasks)
{
task.Value.Unregister(true);
}
var builder = new BackgroundTaskBuilder();
builder.Name = "MySampleTask";
builder.TaskEntryPoint = "BackgroundTasks.TileBadgeUpdate";
builder.SetTrigger(new SystemTrigger(SystemTriggerType.NetworkStateChange, false));
var ret = builder.Register();
}
后台任务:
public sealed class TileBadgeUpdate : IBackgroundTask
{
public void Run(IBackgroundTaskInstance taskInstance)
{
BackgroundTaskDeferral deferral = taskInstance.GetDeferral();
updateBadge();
deferral.Complete();
}
private void updateBadge()
{
var badgeXML = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeNumber);
var badge = badgeXML.SelectSingleNode("/badge") as XmlElement;
badge.SetAttribute("value", "20");
var badgeNotification = new BadgeNotification(badgeXML);
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badgeNotification);
}
}
但调试时,无法触发事件:
有人知道是什么导致了我的问题吗?我没有错。
提前感谢您能否向我们展示您如何注册任务的代码?我在开场白中添加了代码您是否在应用程序清单中声明了您的任务?timmer检查并定义了入口点?我看不出你的代码有任何错误。请同时添加系统触发器的代码。还要确保您在清单中选择了
System Event
,而不是Timer
,以便SystemTrigger
正常工作。我调整了开场白。如果appManifest不正常,它将在注册时崩溃