Windows phone 8.1 Windows Phone 8.1后台任务:调试时崩溃
我正在尝试开发我的后台任务,它只是更新Windows Phone中互动程序上的徽章 我认为我实现的一切都是正确的,但当我在调试模式下启动后台任务时,应用程序就会崩溃 这是我的密码: 背景类Windows phone 8.1 Windows Phone 8.1后台任务:调试时崩溃,windows-phone-8.1,Windows Phone 8.1,我正在尝试开发我的后台任务,它只是更新Windows Phone中互动程序上的徽章 我认为我实现的一切都是正确的,但当我在调试模式下启动后台任务时,应用程序就会崩溃 这是我的密码: 背景类 public sealed class TileBadgeUpdate : IBackgroundTask { public void Run(IBackgroundTaskInstance taskInstance) { BackgroundTaskDeferral def
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);
}
我在其中一个页面的“OnNavigatedTo”中注册后台任务。我可以成功调试此代码:
foreach (var task in BackgroundTaskRegistration.AllTasks)
{
task.Value.Unregister(true);
}
var builder = new BackgroundTaskBuilder();
builder.Name = "NewBGTask";
builder.TaskEntryPoint = "POCTimesheetEntry.TileBadgeUpdate";
builder.SetTrigger(new TimeTrigger(15, false));
var ret = builder.Register();
在AppxManifest中
我已注册后台任务:
我做错了什么
提前谢谢
马修
在我的例子中,我忘记添加后台任务项目的引用,因此geofencetask.Completed没有被调用。你能导航到
Run
方法的断点吗?你创建了两个不同的项目吗?您是否在调试位置工具栏中切换了进程?您好,我的类运行中有一个断点。它没有到达断点。我添加了一个“Windows运行时组件(Windows Phone)”类型的类库图片:我自己找到了解决方案:我必须在应用程序项目中添加对后台任务项目的引用。谢谢你的帮助!您好,BadgeUpdateManager引用不在Windows运行时组件库中。正当那么您是如何从bg任务更新磁贴的呢?您好,Windows运行时组件库中没有BadgeUpdateManager引用。正当那么我们如何从bg任务更新磁贴呢?