Guardato la documentazione di Android e sembra che non abbiamo la possibilità di sapere quando un'app si spegne. Che sia stato esplicitamente dall'utente o automaticamente dal sistema operativo.È possibile tenere traccia di quando un'applicazione Android è stata chiusa?
Di seguito è riportato lo onTerminate()
documentation che è disponibile solo nello scenario emulato.
public void onTerminate()
dal: API livello 1
Questo metodo è per l'uso in emulati processo ambienti. Non verrà mai chiamato su un dispositivo Android di produzione, , in cui i processi vengono rimossi semplicemente eliminandoli; nessun codice utente (incluso questo callback) viene eseguito quando lo si fa.
Qualcuno ha qualche altri approcci per riferire quando l'utente chiude l'applicazione?
Abbiamo bisogno di sapere da un punto di vista pilota/usabilità se abbiamo bisogno di incorporare funzionalità aggiuntive nella nostra futura app di produzione.
Se si potesse dare un'idea di ciò che si vuole fare quando l'applicazione viene "terminata", potremmo essere in grado di suggerire alcune idee su come realizzarlo. –
Fondamentalmente, vorrei solo inviare una richiesta di "fire-forget" alla nostra infrastruttura interna per farci sapere che stava accadendo. Niente di più veramente. Conoscere la frequenza di questo evento potrebbe influenzare la direzione del nostro prodotto in futuro. –
Anche se non esiste una API specifica per sapere che la tua app è stata uccisa dal sistema o dall'utente ci sono molte API che possono dirti parzialmente cosa succede con la tua app a volte: Se controlli isFinishing() all'interno del metodo onDestory puoi vedere se l'attività è chiuso a causa di finish() o altri motivi (ad es. pulizia). Inoltre è possibile utilizzare il servizio per tenere traccia se un'attività dell'utente viene rimossa dall'utente (ad esempio rimuovendo l'attività da recents) ascoltando il suo metodo onTaskRemoved(). – MikeL