Esiste un modo per stabilire se un'attività viene ripresa (ad esempio, onResume viene chiamata) dalla schermata iniziale/launcher?C'è un modo per distinguere tra un'attività Android su Riduci dalla schermata iniziale?
Per esempio, se ho un Applicazione con due attività, A e B.
Scenario 1: Alcuni azione dell'utente sull'attività Un richiamerà Attività B, portandolo in primo piano - Attività che richiedono movimento A sullo sfondo. Quando l'attività A passa in secondo piano, passa attraverso onPause() e onStop(). L'utente (ora sull'attività B) termina l'attività o preme il pulsante "indietro", riportando l'attività A in primo piano, causando una sequenza onRestart(), onStart(), onResume().
Scenario 2: Se l'utente preme il tasto "home" mentre l'attività A è in primo piano e poi ri-invoca l'applicazione dal programma di avvio, passa attraverso lo stesso ciclo di vita come nello scenario 1. Vale a dire L'utente fa clic sul pulsante "home". L'attività passa attraverso onPause() e onStop(). L'utente avvia nuovamente l'applicazione, facendo tornare in primo piano l'attività A, passando nuovamente nella stessa sequenza onRestart(), onStart(), onResume() come nello scenario 1.
Per quanto posso dire, il L'attività non ha modo di sapere come è stata ripresa, semplicemente sa che è stata riportata in vista. In effetti, ho la sensazione che in Android non esista più un concetto di "Applicazione", nel senso di qualcosa che ha un'unica voce e un punto di uscita.
Perché ti importa di questo? – Macarse
Ah. In realtà, sto cercando di tenere traccia del numero di lanci di applicazioni, ma finora non ho trovato un modo per distinguere tra i diversi scenari onRestart(). –
Ricorda che ci sono altri casi in cui riprenderemo un'attività, oltre al solo uso del pulsante Home. È una nuova applicazione lanciata quando l'utente riceve una chiamata, il sistema uccide la tua app, quindi la riprende? Penso che sarà meglio monitorare le interazioni nella tua app, piuttosto che il "lancio", comunque definito. – sargas