2

我有一个应用程序可以保持与服务器的连接,但是如果用户离开并且平板电脑进入睡眠状态,我想优雅地处理断开连接,并且我还想在用户唤醒平板电脑时重新登录.

我尝试将以下代码放入我的连接类中,但它们从未被解雇。

Application.Current.Suspending += this.OnAppSuspending;
Application.Current.Resuming += this.OnAppResuming;;
4

1 回答 1

5

对于桌面应用程序,您可以使用SystemEvents.PowerModeChanged事件来了解 Windows 是否进入睡眠状态。我不知道这是否也适用于平板电脑,但你可以试试......

来自 MSDN:

• Resume 操作系统即将从挂起状态恢复。

• StatusChange 操作系统已引发电源模式状态通知事件。这可能表示电池电量不足或正在充电、交流电源和电池之间的转换或系统电源状态的其他变化。

• Suspend 操作系统即将暂停。

SystemEvents.PowerModeChanged += OnPowerChange;

private void OnPowerChange(object s, PowerModeChangedEventArgs e) 
{
    switch ( e.Mode ) 
    {
        case PowerModes.Resume: 
        break;
        case PowerModes.Suspend:
        break;
    }
}
于 2013-08-15T16:06:27.963 回答