适用于Windows RT的ScheduleActionService

时间:2013-06-10 08:18:41

标签: c# scheduled-tasks windows-rt

我将此代码用于我的Windows手机应用程序。

Settings = new dmWFSettings();
Settings.TilePeriodicTask = 
    ScheduledActionService.Find("eWorkflow") as PeriodicTask;

if (Settings.TilePeriodicTask != null)
{
    Settings.TilePeriodicTaskEnabled = Settings.TilePeriodicTask.IsEnabled;
    try
    {
        ScheduledActionService.LaunchForTest(
            Settings.TilePeriodicTask.Name, new TimeSpan(0, 0, 2));
    }
    catch (Exception)
    {
    }
}

但现在对于平板电脑(RT)版本,什么是ScheduledActionService的替代品,请调用?

谢谢,

1 个答案:

答案 0 :(得分:1)

您正在寻找的东西被称为"背景任务"在Windows RT世界中。

首先,看一下MSDN:http://msdn.microsoft.com/en-us/library/windows/apps/hh977056.aspx你会在那里找到一些示例和API参考。

MSDN中没有明确说明的一些观点:

  • 要完成后台任务,您必须表明您具有锁屏功能且具有锁定屏幕徽章(尽管您不必实际显示一个)
  • 您最好在一个单独的程序集中实现您的IBackgroundTask,该程序集必须是Windows运行时组件,而不仅仅是普通的旧类库。如果不这样做,就会让你陷入神秘而毫无意义的错误信息世界。
  • 如果您不想在锁定屏幕上显示任何内容,则可能无法致电BackgroundExecutionManager.RequestAccessAsync。如果任务不显示通知或执行与UI相关的操作,您可以在不询问用户权限的情况下安排后台任务。
  • 开始调试时,请查看此处:http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2012/11/13/windows-8-store-apps-debugging-background-tasks.aspx