Ric*_*ins 2 windows-phone-7 windows-phone-7.1
我提交失败(甚至无法通过上传验证),因为我的后台代理创建了两个实例,但我无法弄清楚原因.
这是app.xaml.cs中的方法(我也尝试将它定位在MainPageVM.cs和MainPage.xaml.cs中,结果相同)
private void RegisterBackgroundTask()
{
var taskName = "xxUpdater";
var oldTask = ScheduledActionService.Find(taskName) as PeriodicTask;
if (oldTask != null)
{
ScheduledActionService.Remove(taskName);
}
PeriodicTask task = new PeriodicTask(taskName);
task.Description = Strings.xxBackgroundTaskDescription;
oldTask = ScheduledActionService.Find(taskName) as PeriodicTask;
if (oldTask == null)
{
ScheduledActionService.Add(task);
}
//ScheduledActionService.LaunchForTest(taskName, TimeSpan.FromSeconds(60));
}
Run Code Online (Sandbox Code Playgroud)
这是在Application_Launching中的调用:
private void Application_Launching(object sender, LaunchingEventArgs e)
{
{ RegisterBackgroundTask(); }
}
Run Code Online (Sandbox Code Playgroud)
应用程序第一次运行时,我退出,查看,并且有一项任务.然后我再次运行,单步执行,删除调用关闭任务(而不是删除它).当它进入add调用时,它不仅会打开原始任务,而且还会添加另一个.从那时起,当我退出并重新启动应用程序时,删除将关闭一个实例,然后离开另一个实例,并且Add调用将其重新打开.除非在重建或卸载之后,否则oldTask为null.
if(oldTask == old)最初并不存在,我添加它希望它会阻止第二个实例的创建.有时,当我卸载时,仍然有一个后台任务被关闭,我必须关闭手机并重新打开它才能让它消失.
Jim*_*röm 10
我正在处理的项目遇到同样的问题.
出于某种原因,我在我的WMAppManifest.xml中定义了两次后台任务.
检查WMAppManifest.xml并查看是否还定义了两次.
| 归档时间: |
|
| 查看次数: |
436 次 |
| 最近记录: |