如何检测应用程序是否已空闲 30 秒?
我知道这可以通过使用 DispatcherTimer
然后在 PhoneApplicationPage.ManipulationCompleted
事件中重新启动它来实现吗?但是,我担心这会影响应用程序的性能。
有没有更好的解决方案?
最佳答案
您走在正确的轨道上。没有明确的“空闲”通知(尤其是没有那么快)。
ManipulationCompleted 可能并不总是为您触发,因为其他输入可能会阻止操作开始并且用户可能会进行很长时间的操作。我会在任何 mouse input 上重置计时器而不仅仅是在 ManipulationCompleted 上。
根据您需要 30 秒计时器的精确度,我会考虑让计时器保持运行状态并为最后一次输入设置一个标志。当计时器到期时,检查标志是否已设置。这样您就不需要为每个用户输入不断地重置计时器。
关于c# - 有效地检测 Windows Phone 应用程序中的应用程序不活动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26820141/