2014-06-18 8 views
12

Ho cercato attraverso la documentazione delle API, e ho notato che iniziano con livello di API 16 il Context classe comprende il seguente metodo:Perché utilizzare le attività di avvio?

public abstract void startActivities (Intent[] intents)

Sono stato googling in giro nel tentativo di evitare la mia curiosità attraverso un esempio del suo uso nel codice dell'applicazione, una domanda o un articolo, ma non ho ancora incontrato nulla. Se qualcuno ha già fatto una domanda simile, faccelo sapere.

In ogni modo, io sono curioso di sapere quando questo dovrebbe/potrebbe essere utilizzato nel codice dell'applicazione, e che cosa (se presente) vantaggi di farlo sarebbe? Personalmente non ho mai visto questo metodo usato e non riesco a coglierne l'utilità. Ogni recensione sarà apprezzata.

risposta

15

E 'raramente utilizzato nel codice dell'applicazione. Stavo per dire mai, ma io non sono che sicuro;)

Tuttavia, può essere utilizzato per creare uno stack sintetico indietro, quando si inizia una nuova attività. Si desidera disporre di uno stack posteriore pronto, in modo che il tasto indietro navighi "gerarchicamente" all'interno di questa attività.

Stranamente, è meglio spiegato nello documentation of ContextCompat rispetto allo stesso Context.

Avviare una serie di attività come stack di attività sintetiche, se possibile.

Nel livello API 11 (Android 3.0/Honeycomb) le convenzioni raccomandate per la navigazione dell'app tramite il tasto Indietro sono state modificate. Il comportamento del tasto Indietro è locale all'attività corrente e non acquisisce la navigazione tra le diverse attività . La navigazione attraverso le attività e facilmente raggiungere la compito precedente si realizza attraverso l'interfaccia utente "Recenti", accessibile tramite il tasto Recenti software fornito sul navigazione o il sistema bar. Sui dispositivi con la precedente configurazione del pulsante hardware è possibile accedere all'interfaccia utente Recenti premendo a lungo il tasto Home.

Quando viene superato da una pila compito all'altro post-Android 3.0, l'applicazione dovrebbe sintetizzare una parte posteriore dello stack/storia per il nuovo compito in modo che l'utente può navigare fuori la nuova attività e di nuovo al Launcher ripetute pressioni del tasto Indietro. Le pressioni dei tasti indietro non devono non spostarsi tra le pile di attività.

startActivities fornisce un meccanismo per costruire un sintetico compito pila di attività multiple. Se l'API sottostante non è disponibile sul sistema, questo metodo restituirà false.

+1

Aggiungo semplicemente questo come commento per un potenziale aggiornamento, ma aggiungendo un aggiornamento per i collegamenti diretti (Sintetizza un nuovo Back Stack per Deep Links): https://developer.android.com/training/implementing-navigation/temporal.html – Submersed

0

mai usato io stesso, ma penso che sia utile quando si desidera ricreare il vostro stack di attività, quando si inizia una nuova attività fresca. Ad esempio, quando l'applicazione viene avviata da una notifica, il sistema non utilizzerà un'attività esistente per l'applicazione, ma creerà invece una nuova attività con l'applicazione su di essa per impostazione predefinita. In questo caso si consiglia di iniziare con una certa posizione del tuo stack di attività, e con questo metodo si potrebbe iniziare tutte le vostre attività con una sola chiamata

0

ho usato il metodo.In qualche sutiazione specifica, svuoto lo stack delle attività quando creo una nuova attività. Quando torno all'attività che era già stata cancellata nello stack delle attività, ho utilizzato lo startActivities() per creare uno stack di attività aritificativo.

Problemi correlati