2011-12-27 53 views
20

Vorrei trovare un modo per vedere quale applicazione è in esecuzione in primo piano o se la schermata iniziale viene visualizzata quando viene visualizzata una notifica locale dalla mia app . Ad esempio voglio avere diverse azioni se ci sono in homescreen o in un'altra app. Ho provato a utilizzare processato e pid ma il pid è generato quando l'app inizia e non l'ultima volta che l'app viene utilizzata. Qualche idea? grazieDetermina se un'applicazione è in esecuzione in primo piano quando viene ricevuta una notifica su iOS

risposta

49

come descritto nella push notification documentation si può leggere [[UIApplication sharedApplication] applicationState] quando si riceve la notifica per determinare se la vostra applicazione è in primo piano, non attiva (è visibile, ma un dialogo come il selettore di connessione Wi-Fi è di fronte), o in background.

+0

voglio sapere se anither applicazione è in esecuzione in primo piano come la fotocamera o iPod o note – user1117453

+0

Quindi, quale parte della mia risposta avete problemi con? Se leggi '[[UIApplication sharedApplication] applicationState]' ti dice se la tua app è in primo piano o meno. – DarkDust

+0

Sì. questo è per la mia app. come avrei ora esattamente quale app era prima della mia? IF era Camera per esempio o un'app di app? – user1117453

9

solo per avere un codice di copia-incolla a disposizione per gli altri:

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

p1us 0ne per la copia incolla – quemeful

Problemi correlati