【发布时间】:2014-11-08 17:45:27
【问题描述】:
如何检测应用程序是否空闲了 30 秒?
我知道这可以通过使用DispatcherTimer 然后在PhoneApplicationPage.ManipulationCompleted 事件重新启动它?但是,我担心这会影响应用程序的性能。
有没有更好的解决方案?
【问题讨论】:
标签: c# windows-phone-8 user-inactivity
如何检测应用程序是否空闲了 30 秒?
我知道这可以通过使用DispatcherTimer 然后在PhoneApplicationPage.ManipulationCompleted 事件重新启动它?但是,我担心这会影响应用程序的性能。
有没有更好的解决方案?
【问题讨论】:
标签: c# windows-phone-8 user-inactivity
你在正确的轨道上。没有明确的“空闲”通知(尤其是没有那么快的通知)。
ManipulationCompleted 可能不会总是为您触发,因为其他输入可能会阻止操作开始,并且用户可能会进行很长时间的操作。我会在任何 mouse input 上重置计时器,而不仅仅是在 ManipulationCompleted 上。
根据您需要 30 秒计时器的精确程度,我会考虑让计时器继续运行并为最后一次输入设置一个标志。当计时器到期时,检查标志是否已设置。这样您就不需要为每个用户输入不断重置计时器。
【讨论】: