在特定时间UWP调用方法

时间:2015-12-17 22:49:20

标签: c# scheduled-tasks uwp

我正在开发一个UWP应用程序,需要每天调用一次方法。

我现在使用它并且效果很好:

public void SetTimeToShowNotification(DateTime date)
{
    var dateNow = DateTime.Now;
    TimeSpan ts;
    if (date > dateNow)
        ts = date - dateNow;
    else
    {
        date = getNextDate(date);
        ts = date - dateNow;
    }
    //waits certan time and run the code
    Task.Delay(ts).ContinueWith((x) =>
    {
        //run the code at the time
        CheckPremieres();

        //setup call next day
        SetTimeToShowNotification(getNextDate(date));

    });
}
private DateTime getNextDate(DateTime date)
{
    if (App.laddaInEnGang)
    {
        return date.AddSeconds(20);
    }
    return date.AddDays(1);
}

我还没有测试过的一件事是,如果将应用程序放到后台,它仍会触发.. 我也担心这会消耗手机上的电池,我已经阅读了关于后台任务但不知道如何实现它......

问题是我的方法电池重?这个方法会从backgound调用吗? 有没有更好的方法来做到这一点,在这种情况下?

0 个答案:

没有答案