我正在开发一个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调用吗? 有没有更好的方法来做到这一点,在这种情况下?