如何检测应用程序是否已空闲30秒?
我知道可以使用DispatcherTimer
然后在PhoneApplicationPage.ManipulationCompleted
事件重新启动它吗?但是,我担心这会影响应用程序的性能。
有没有更好的解决方案?
答案 0 :(得分:3)
你走在正确的轨道上。没有明确的"空闲"通知(尤其不是快速通知)。
ManipulationCompleted可能并不总是为您启动,因为其他输入可能会阻止操作启动,并且用户可能会进行很长时间的操作。我在任何mouse input上重置计时器,而不是仅仅在ManipulationCompleted上重置。
根据你需要30秒定时器的准确程度,我会考虑让计时器继续运行并为最后一个输入设置一个标志。当计时器到期时,检查标志是否已设置。这样您就不需要为每个用户输入连续重置计时器。