2011-12-27 12 views
20

Me gustaría encontrar una manera de ver qué aplicación se está ejecutando en primer plano o si aparece la pantalla de inicio cuando aparece una notificación local de mi aplicación . Por ejemplo, quiero tener diferentes acciones si hay en la pantalla de inicio o en otra aplicación. He intentado usar procesado y pid pero el pid se genera cuando la aplicación se inicia y no la última vez que se usa la aplicación. ¿Alguna idea? graciasDeterminar si una aplicación se está ejecutando en primer plano cuando se recibe una notificación en iOS

Respuesta

49

como se describe en el push notification documentation se puede leer [[UIApplication sharedApplication] applicationState] cuando reciba la notificación para determinar si su aplicación está en primer plano, inactivos (que es visible, pero un diálogo como el selector de conexión Wi-Fi está delante) o en el fondo.

+0

quiero saber si anither aplicación se está ejecutando en primer plano como la cámara o el iPod o notas – user1117453

+0

Entonces, ¿qué parte de mi respuesta tiene usted ¿problema con? Si lees '[[UIApplication sharedApplication] applicationState]' te dice si tu aplicación está en primer plano o no. – DarkDust

+0

Sí. esto es para mi aplicación ¿Cómo podría saber exactamente qué aplicación tenía antes de la mía? ¿Si fuera la cámara, por ejemplo, o una aplicación de la tienda de aplicaciones? – user1117453

9

Sólo para tener un código de copiar y pegar disponibles para otros:

if([[UIApplication sharedApplication] applicationState] == UIApplicationStateActive) 
{ 
    //App is in foreground. Act on it. 
} 
+0

p1us 0ne para copiar y pegar – quemeful

Cuestiones relacionadas