c# windows-8 windows-runtime lifecycle

c# - Cómo detectar cuando Windows 8 se va a dormir o se reanuda



windows-8 windows-runtime (1)

Para aplicaciones de escritorio, puede usar el evento SystemEvents.PowerModeChanged para saber si Windows entra en estado de suspensión. No sé si esto también funciona para las tabletas, pero puedes intentarlo ...

Desde MSDN:

• Reanudar El sistema operativo está a punto de reanudarse desde un estado suspendido.

• StatusChange El sistema operativo ha provocado un evento de notificación de estado del modo de encendido. Esto podría indicar una batería débil o de carga, una transición entre la alimentación de CA y la batería, u otro cambio en el estado de la fuente de alimentación del sistema.

• Suspender. El sistema operativo está a punto de suspenderse.

SystemEvents.PowerModeChanged += OnPowerChange; private void OnPowerChange(object s, PowerModeChangedEventArgs e) { switch ( e.Mode ) { case PowerModes.Resume: break; case PowerModes.Suspend: break; } }

Tengo una aplicación que mantiene viva la conexión a un servidor, sin embargo, si el usuario se va y la tableta se queda dormida, me gustaría manejar la desconexión con elegancia, y también me gustaría volver a iniciar sesión cuando el usuario despierte la tableta .

Intenté poner el siguiente código en mi clase de conexión, pero nunca me despiden.

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