2011-09-12 13 views
5

Aunque creo que esta es una pregunta bastante trivial, no pude encontrar ninguna respuesta.¿Cómo recibir notificaciones de MonoTouch sobre mi solicitud cerrada/enviada a segundo plano?

Mi pregunta es:

¿Hay una manera de obtener una notificación en una aplicación de iPhone MonoTouch cuando mi solicitud se está cerrando o se envía al fondo (por un usuario hace clic en el botón de inicio)?

Pensé que la anulación de WillTerminate era buena para esto, pero en el depurador, nunca se invoca.

Respuesta

8

Hay dos maneras para ser notificado cuando una aplicación pasa a un segundo plano:

a. Reemplace el método apropiado en su AppDelegate:

public override void DidEnterBackground(UIApplication application) 
{ 
    // App entered background, do some light stuff here, 
    // there is not much time before getting suspended 
} 

b. Añadir observadores de notificación a través de la clase NSNotificationCenter:

NSObject observer = NSNotificationCenter.DefaultCenter.AddObserver(
    UIApplication.DidEnterBackgroundNotification, 
    delegate(NSNotification ntf) { 

      // Same as above 
    }); 

Usted puede utilizar el objeto NSObject devuelto desde el método addObserver para eliminar el observador cuando ya no lo necesite:

NSNotificationCenter.DefaultCenter.RemoveObserver(observer); 
Cuestiones relacionadas