/ / Come chiudere / uscire dall'istanza corrente dell'app Xamarin.Forms durante il caricamento di una nuova: xamarin, xamarin.android, xamarin.forms

Come chiudere / uscire dall'istanza corrente dell'app Xamarin.Forms durante il caricamento di una nuova - xamarin, xamarin.android, xamarin.forms

Stiamo affrontando uno strano problema. Non sono sicuro che si tratti di un difetto di progettazione dell'applicazione esistente. Il tuo aiuto / suggerimento è apprezzato.

Abbiamo un'app Xamarin.forms. Mirato sia per iOS che per Android.

Il problema sta arrivando principalmente nell'app Android.

Flusso dell'applicazione:

  • una volta che ci disconnettiamo dall'applicazione, l'app apre un'attività di disconnessione ed elimina le informazioni dell'utente e altri dati.
  • apre una nuova attività per il login che contiene l'implementazione SSO del client
  • in caso di accesso riuscito, l'app imposta le informazioni sull'utente e recupera i dati dal servizio web.
  • quindi chiama il metodo LoadApplication in modo che il flusso ritorni nell'applicazione principale

Ora, se l'utente esegue il logout / login più volte, apre una nuova istanza dell'applicazione chiamando il metodo LoadApplication e quindi visualizzando la schermata iniziale

Quindi, quando l'utente tocca il pulsante Indietro nella home page,l'app non si chiude e visualizza l'istanza precedente della stessa applicazione. L'utente deve premere più volte il pulsante Indietro (a seconda di quante volte l'utente esegue il logout-login).

C'è un buon modo per fermare questo? Possiamo chiudere l'istanza corrente dell'applicazione prima che LoadApplication venga chiamato?

Bloccato per molto tempo.

risposte:

2 per risposta № 1

Avrei cercato di evitare di chiamare LoadApplication più di una volta. Dovresti controllare lo stack di navigazione.

Dato che sei nella pagina Logout

  • rimuovere tutte le visualizzazioni tramite PopToRootAsync
  • mostra il LoginPage
await Navigation.PopToRootAsync(false);
await Navigation.PushAsync(new LoginPage(), true);

Potrebbe valere la pena leggere questo post del blog: https://jfarrell.net/2015/01/22/understanding-xamarin-forms-navigation/


0 per risposta № 2

Gentilmente prova questo.

https://stackoverflow.com/a/36885388/1941942

[Activity (NoHistory = true)]
public class LoginActivity : Activity { }

L'errore dell'istanza di salvataggio è passato un po 'di tempo dopo averlo implementato su MainActivity.