哪种用法最适合为WP的ScheduledActionService添加TileTask?

时间:2014-11-10 09:48:51

标签: windows-phone-8 windows-phone scheduled-tasks live-tile

有一些用于将TileTask添加到ScheduledActionService的用法,但我并不了解哪一个是最佳用法。例如;

private void StartPeriodicAgent(string taskName)
    {
        tilePeriodicTask = ScheduledActionService.Find(taskName) as PeriodicTask;
        if (tilePeriodicTask != null)
        {
            RemoveAgent(taskName);
        }
        tilePeriodicTask = new PeriodicTask(taskName);
        tilePeriodicTask.Description = "App Tile Agent";
        try
        {
            ScheduledActionService.Add(tilePeriodicTask);

            // If debugging is enabled, use LaunchForTest to launch the agent in one minute.
 #if(DEBUG)
            ScheduledActionService.LaunchForTest(taskName, TimeSpan.FromSeconds(30));
 #endif
        }
        catch (InvalidOperationException)
        {
            //MessageBox.Show(ex.ToString());
        }
        catch (SchedulerServiceException)
        {

        }
    }

此方法删除现有的tileTask并每次都添加。这是真的吗?我是否每次使用都会删除并重新添加?或者,如果它存在,我不应该删除它吗?

感谢。

1 个答案:

答案 0 :(得分:0)

在我使用LiveTiles的所有应用程序中,我使用了Microsoft提供的用于处理tile的示例。在该示例中,他们在重新创建之前删除现有的任务代理,就像上面的代码一样。我会这样做的。

我意识到微软提供的示例完全违反了公认的最佳做法,但在这种情况下,我认为样本是正确的(因此,您的代码)。

我希望这有助于让您放心。