我之前为Windows Phone 8.1创建了一个计时器和秒表应用程序,但它不在后台运行或在锁屏后面运行。我目前正在为Windows 10通用应用程序更新此功能,并可以帮助实现这些功能。
答案 0 :(得分:3)
在后台任务中尝试这样做可能很诱人,但对于一个简单的问题,这非常严厉。
我建议记录他们开始录制的日期时间:
DateTime _startDateTime;
void Start()
{
_startDateTime = DateTime.Now;
}
然后执行常规定时代码(可能是DispatcherTimer
),每隔x毫秒运行一次方法:
void UpdateTime()
{
TimeSpan totalTime = DateTime.Now.Subtract(_startDateTime);
// Update UI
}
现在,如果用户最小化应用,代码将停止运行,但是当您返回时,UpdateTime()
中的数学运算使用绝对值_startDateTime
,因此无关紧要您被最小化了一小时或一周 - 一旦UpdateTime()
运行,它将正确计算出已用时间。
除非他们最小化并改变手机上的时间,但你真的无法做到这一点; - )。