我有一个应用程序可以保持与服务器的连接,但是如果用户离开并且平板电脑进入休眠状态,我想优雅地处理断开连接,并且我还想在用户退出时重新登录唤醒平板电脑。
我尝试将以下代码放入我的连接类中,但它们从未被解雇。
Application.Current.Suspending += this.OnAppSuspending;
Application.Current.Resuming += this.OnAppResuming;;
最佳答案
对于桌面应用程序,您可以使用 SystemEvents.PowerModeChanged用于了解 Windows 是否进入休眠状态的事件。我不知道这是否也适用于平板电脑,但你可以尝试一下......
来自 MSDN:
• Resume 操作系统即将从挂起状态恢复。
• StatusChange 操作系统已引发电源模式状态通知事件。这可能表明电池电量不足或正在充电、交流电源和电池之间发生转换,或者系统电源状态发生其他变化。
• 暂停 操作系统即将暂停。
SystemEvents.PowerModeChanged += OnPowerChange;
private void OnPowerChange(object s, PowerModeChangedEventArgs e)
{
switch ( e.Mode )
{
case PowerModes.Resume:
break;
case PowerModes.Suspend:
break;
}
}
关于c# - 如何检测 Windows 8 何时进入休眠或恢复状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18256664/