【问题标题】:Run Background Task at specific time - Windows 10 App在特定时间运行后台任务 - Windows 10 App
【发布时间】:2015-08-26 23:25:56
【问题描述】:

我已经搜索了一种每天在特定时间运行后台任务的方法,例如12:00。

我使用 TimeTrigger 注册了 BackgroundTask,不幸的是,它在注册后立即启动。

builder.SetTrigger(new TimeTrigger(24 * 60, false));

有没有更简单的方法,然后每小时检查一次,如果这是一天中的正确时间?

【问题讨论】:

    标签: c# windows-10 uwp background-task


    【解决方案1】:

    Microsoft 似乎避免应用程序在精确的时间触发,但您可以通过计算从用户注册任务到 12:00 的分钟数来接近,然后从那里重新订阅另一个任务24*60 和你一样。我不确定 Microsoft 是否允许在后台任务中执行此操作,但值得一试。

    计算任务到午夜的分钟数示例

    var tommorowMidnight = DateTime.Today.AddDays(1);
    var timeTilMidnight = tommorowMidnight - DateTime.Now;
    var minutesTilMidnight = (uint)timeTilMidnight.TotalMinutes;
    builder.SetTrigger(new TimeTrigger(minutesTilMidnight, true));
    

    【讨论】:

    • 这听起来很有趣,我会试试看。
    • 这实际上不止一次有效吗?我认为新鲜时间是某事发生的频率,而不是它发生的时间。所以说现在是上午 10:30,我想在 12:00 运行一项任务,我可以计算出 12:00 距离 90 分钟。除了据我所知,任务将运行 90 分钟,而不是每天 12:00 ???
    【解决方案2】:

    我之前使用过这个任务包装器来创建类似的东西,并且它每天都会触发。也许这就是你要找的。​​p>

    http://taskscheduler.codeplex.com/

    【讨论】:

    • 这是否也适用于 Windows 10 应用程序?我认为它只支持桌面应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多