3

我之前为 Windows Phone 8.1 创建了一个计时器和秒表应用程序,但它不能在后台或锁屏后运行。我目前正在为 Windows 10 通用应用程序更新它,并且可以帮助实现这些功能。

4

1 回答 1

3

尝试在后台任务中执行此操作可能很诱人,但对于一个简单的问题,这是非常严厉的。

我的建议是记录他们开始录制的日期时间:

DateTime _startDateTime;
void Start()
{
_startDateTime = DateTime.Now;
}

然后执行您的常规计时代码(可能带有 a DispatcherTimer),它将每 x 毫秒运行一个方法:

void UpdateTime()
{
TimeSpan totalTime = DateTime.Now.Subtract(_startDateTime);
// Update UI
}

现在,如果用户最小化应用程序,代码将停止运行,但是当您返回时,数学UpdateTime()使用的是绝对值,_startDateTime因此无论您是最小化一个小时还是一周都没关系 - 只要UpdateTime()运行它将正确计算出经过的时间。除非他们最小化并更改电话上的时间,但是您对此确实无能为力;-)。

于 2015-09-02T22:19:37.187 回答