我有一个应用程序可以保持与服务器的连接,但是如果用户走开并且平板电脑进入休眠状态,我想优雅地处理断开连接,我还想在用户登录时重新登录唤醒平板电脑。
我已尝试将以下代码放入我的连接类中,但它们永远不会被解雇。
Application.Current.Suspending += this.OnAppSuspending;
Application.Current.Resuming += this.OnAppResuming;;
答案 0 :(得分:5)
对于桌面应用,您可以使用SystemEvents.PowerModeChanged事件来了解Windows是否进入睡眠状态。我不知道这是否适用于平板电脑,但你可以尝试一下......
来自MSDN:
•恢复操作系统即将从暂停状态恢复。
•StatusChange操作系统引发了电源模式状态通知事件。这可能表示电池电量不足或充电,交流电源与电池之间的转换,或系统电源状态的其他变化。
•暂停操作系统即将暂停。
SystemEvents.PowerModeChanged += OnPowerChange;
private void OnPowerChange(object s, PowerModeChangedEventArgs e)
{
switch ( e.Mode )
{
case PowerModes.Resume:
break;
case PowerModes.Suspend:
break;
}
}