2011-10-20 12 views
7

Ho implementato la notifica all'interno del servizio. La notifica funziona bene. Ma nel caso in cui l'app sia già in esecuzione e ho fatto clic sulla notifica della barra di stato di Android, viene avviata una nuova copia della mia app. che è ovviamente sbagliato. Dovrebbe essere se l'utente fa clic sulla notifica della barra di stato, dovrebbe avviare l'app se l'app non è già in esecuzione altrimenti dovrebbe aprire altre attività (attività del messaggio nel mio caso). Ho provato molti suggerimenti forniti in un tipo simile di problema pubblicato qui ma non ho trovato una soluzione nel mio caso.Notifica della barra di stato di Android lancia la nuova app sebbene sia già in esecuzione. Come sincronizzare l'app di avvio dall'icona dell'app e la notifica della barra di stato?

risposta

0

Qui riesco a scappare da questo problema. Prima di tutto ho definito la variabile booleana nell'attività di ingresso o nella classe che estende l'applicazione. imposto l'attributo a quella variabile true quando l'applicazione viene eseguita e false quando l'uscita dell'applicazione. e controllo la variabile booleana su quale attività aprire. nel mio caso questo risolve il problema. potrebbe essere utile anche al tuo caso.bt lo scenario potrebbe essere diverso. buona fortuna

0

Utilizzando un valore booleano non è una buona soluzione per questo problema. Per maggiori informazioni si prega di guardare la durata della domanda. Invece dovresti cambiare il tuo launchMode in singleTask o singleInstance nella tua attività di destinazione e ricevere il tuo intento dal metodo onNewIntent() di quell'attività.

Ma attenzione, se si chiama super.onNewIntent (intento); quindi verrà creata una seconda istanza dell'attività. Quindi non chiamarlo e fai quello che vuoi con il tuo intento.

Problemi correlati