Ho un'attività che può essere avviata da diverse altre attività, insieme agli intenti del filtro url.Avvia l'attività principale se lo stack di attività è vuoto
In questa attività, utilizzo l'icona Home nella barra delle azioni come pulsante Indietro, riportando l'utente all'attività precedente (e non come azione "casa"). Per ora lo faccio chiamando la funzione finish(). Funziona bene quando si lavora dall'interno dell'applicazione.
Tuttavia, se si avvia l'attività con un intento di filtro URL, voglio che l'icona Home porti l'utente all'attività principale. Ovviamente, la chiamata a finish() chiuderà l'attività.
Quindi la mia domanda è, c'è un modo per verificare se il mio stack di applicazioni è vuoto e quindi avviare l'acivity principale se vero? O sto attaccando nel modo sbagliato?
Sembra una buona soluzione, ma purtroppo non funziona. isTaskRoot() restituisce false in entrambe le situazioni. Suppongo di aver bisogno che funzioni anche quando non si sta avviando un nuovo task (ad esempio l'app è già in esecuzione in background?). Non riesco a concentrarmi sull'attività/sulla gestione delle attività. – SveinT
Ho modificato la mia risposta per aggiungere un altro metodo che è possibile utilizzare poiché la tua attività è ovviamente avviata in un'attività esistente. –
Ovviamente dovrebbe funzionare, ma presumo che esista una soluzione più pulita? L'app di Gmail e altri implementano un comportamento simile. Ad ogni modo, dovrà fare. Grazie! – SveinT