Voglio sapere quando l'app è chiusa, perché ho bisogno di cancellare un database quando l'utente chiude l'app, proprio nel momento in cui l'utente chiude l'app è il momento giusto per cancellare lo SQLite Database, come posso rilevare questo?rileva quando l'applicazione viene chiusa
risposta
Supponendo che non si sia finish()
l'attività principale, cancellare il database all'interno del metodo onDestroy()
di quella attività potrebbe essere il più vicino di ciò che si desidera realizzare. Come è stato indicato nei commenti, fare riferimento a http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle.
onDestroy() non sembra funzionare a volte, Android salta semplicemente eseguendo il metodo onDestry(). – San
L'uso di 'onPause()' è incoraggiato, dato che l'esecuzione di 'onDestroy()' non è affidabile al 100% (dipende dalle risorse di sistema) –
Questa è un'idea di progettazione imperfetta, che riflette un equivoco del sistema - quando il processo complessivo muore, è morto, il che significa che il tuo codice non è più in esecuzione.
si può fare qualche tracking e avere l'ultima onDestory() 'attività d fare la pulizia a titolo di cortesia, ma non date per scontato che sarà sempre effettivamente accadere (il metodo non è sempre chiamato). Se avere una copia obsoleta è un problema, puliscila alla prossima esecuzione.
Detto questo, è possibile provare a utilizzare il ndk per fornire un gestore per i segnali di terminazione del processo, ma comunque non ci conterei su di esso che funziona in tutti i casi. Il potenziale limitato di ottenere qualsiasi funzionalità audio da questo probabilmente non giustificherebbe lo sforzo a meno che non si abbia già familiarità con i concetti coinvolti.
E non fare per un minuto errore la pulizia di un meccanismo di sicurezza, poiché il file è lì mentre la tua app è in esecuzione, e rimarrebbe se la tua app terminasse in modo inaspettato.
"Se la copia non aggiornata è un problema, puliscila alla prossima esecuzione." - grazie, buon suggerimento – Nactus
- 1. Rileva quando l'app viene aperta/ripresa
- 2. Arresta il servizio quando l'app viene chiusa
- 3. Rileva quando viene caricata un'applet
- 4. Broadcasting con Jersey SSE: Rileva connessione chiusa
- 5. Come si rileva quando l'output viene reindirizzato?
- 6. L'app Android non riceve la notifica FCM quando viene chiusa
- 7. Come ricevere una notifica quando l'applicazione viene chiusa in Android
- 8. Impedire l'uscita dall'applicazione quando la console viene chiusa
- 9. ViewDidAppear non chiamato quando la vista modale viene chiusa
- 10. ottiene i dati dalla notifica push quando l'app viene chiusa in iOS e l'app non viene eseguita in background
- 11. Rileva momento quando newline viene avviato in UITextView
- 12. AutoCompleteTextView rileva quando la voce selezionata dall'elenco viene modificata dall'utente
- 13. Rileva quando viene premuto il pulsante Home iOS
- 14. Come si rileva quando un file viene modificato in iCloud?
- 15. Rileva quando viene premuto un elemento della barra delle schede
- 16. Rileva che un'attività è stata chiusa in Android
- 17. Javascript: Rileva quando una casella di avviso è OK e/o chiusa
- 18. Rileva quando AVAudioSession sta "Ducked"
- 19. .Net: la connessione viene chiusa tramite Dispose in questo esempio?
- 20. Annulla notifica dopo l'applicazione viene chiusa dallo sfondo
- 21. L'applicazione WPF viene chiusa immediatamente quando si visualizza una finestra di dialogo prima dell'avvio
- 22. Come si mantiene il pulsante Annulla nella barra di ricerca abilitata quando la tastiera viene chiusa?
- 23. La finestra popup di Android viene chiusa quando si fa clic all'esterno di
- 24. La notifica push di Firebase IOS non funziona quando l'app viene chiusa
- 25. Cosa succede a una transazione non impegnata quando la connessione viene chiusa?
- 26. La connessione viene chiusa quando un evento SQLAlchemy attiva un'attività di Celeria
- 27. Le preferenze condivise vengono reimpostate quando l'app viene chiusa forzatamente o si blocca
- 28. L'app fotocamera non viene chiusa quando "Memoria insufficiente disponibile ..." su iPhone
- 29. Come mantenere un IntentService in esecuzione anche quando l'app viene chiusa?
- 30. rileva se una pagina web viene modificata
** Leggi i documenti: ** http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle –
Sì, lo so, ma la domanda è, ho bisogno di sapere quando il l'applicazione totale è chiusa, non quando un'attività è chiusa. – JLouis
Quello che vuoi è impossibile. Il tuo processo potrebbe essere interrotto in qualsiasi momento, dall'utente o dal sistema operativo e non ti verrà notificato. – CommonsWare