2016-03-13 17 views
8

Sto sviluppando la navigazione svolta dalla posizione attuale alla destinazione. Ho fatto questo utilizzando il codice qui sottoAndroid google map gira a turno navigazione

Uri gmmIntentUri = Uri.parse("google.navigation:q="+address); 
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); 
mapIntent.setPackage("com.google.android.apps.maps"); 
startActivity(mapIntent); 

Il problema è che se fai clic di nuovo a schermo 1 che serve per lo screening 2. Quindi se clicco indietro a schermo 2 che serve per schermo 3, poi 4 schermo, poi finalmente la mia attività

Quello che voglio è se si fa clic indietro nello schermo 1, come posso portare alla mia attività? come posso finire screen2, screen3, screen4 cliccando su back in screen1?

schermo 1:

enter image description here

schermo 2:

enter image description here

schermo 3:

enter image description here

schermo 4:

enter image description here

+0

questo? http://stackoverflow.com/a/4038637/697856 – wf9a5m75

+0

@selva_pollachi Hai risolto questo problema? Se è pls condividi il tuo codice. – Satheesh

+0

@Satheesh No. Non ho risolto questo. Hai qualche soluzione? –

risposta

1

Per questo può essere la soluzione qui di seguito funziona non sono sicuro, ma consente di provare con questo.

Avviare lo schermo 2,3 con Android: noHistory = "true" nella sua voce manifest.

lancio dello schermo 4 con l'intento

+0

Per favore fatemi sapere il tempo funziona o no. Così dispiaciuto il mio meglio per questo. –

+0

Grazie. Queste schermate sono presenti nella libreria. Non nella mia domanda. –

0

messo a vostro intento bandiera FLAG_ACTIVITY_PREVIOUS_IS_TOP

Uri gmmIntentUri = Uri.parse("google.navigation:q="+address); 
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); 
mapIntent.setPackage("com.google.android.apps.maps"); 
mapIntent.setFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP); 
startActivity(mapIntent); 

` Dalla documentazione Android:

Se impostata e questo intento viene utilizzato per avviare una nuova attività da una esistente, l'attività corrente non sarà counte d come l'attività principale per decidere se il nuovo intento dovrebbe essere consegnato in cima invece di iniziarne uno nuovo. L'attività precedente verrà utilizzata come parte superiore, con l'ipotesi che l'attività corrente si concluda immediatamente.

0

chiamata intento come questo in Screenshot2.class, Screenshot3.class

Intent in =new Intent(Screenshot2.this, Screenshot3.class); 
         finish(); 
         startActivity(in); 
Problemi correlati