如何检测Windows 8何时进入睡眠或恢复状态

Kev*_*inA 2 c# lifecycle windows-8 windows-runtime

我有一个应用程序,可以保持与服务器的连接保持活动状态,但是,如果用户走开并且平板电脑进入睡眠状态,我希望能够很好地处理断开连接,并且我还想在用户唤醒平板电脑时重新登录。

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

Application.Current.Suspending += this.OnAppSuspending;
Application.Current.Resuming += this.OnAppResuming;;
Run Code Online (Sandbox Code Playgroud)

Odr*_*rai 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 我在Windows 10 uwp应用程序中找不到此api。有任何想法吗? (3认同)