Domanda

Prima di tutto, non sono sicuro se ne vado anche questo il modo migliore in termini di design, ma sono un po 'nuovo per Android e molto nuovo a Xamarin.Forms. Il mio setup è una serie di ContentPages in un PCL Xamarin.Forms che trattano tutti con le informazioni da un servizio di riposo. Questo servizio, al momento di accedere, concede un WorkToken che l'applicazione si verifica quindi al fine di eseguire ulteriori operazioni. Sto memorizzando questo in un ISessionManager.

Il mio problema è un problema del flusso di lavoro. Ho un LoginPage che voglio presentare all'utente se la loro sessione è terminata / guastata / qualunque; Fondamentalmente se non sono registrati e tentano di fare qualsiasi cosa, voglio spingere questa pagina sullo stack e forzarli a tentare di accedere e se forniscono credenziali valide, lascia che continuino da dove hanno lasciato. Tutto ciò si svolge, per la maggior parte, nel PCL, ma ho creato un'implementazione Android del ISessionManager che viene interrogato sul metodo ContentPagetagCoDetagCoDetagCoDetaGoDetagCoDetagCode. Ogni pagina chiama OnAppearingTagCodeTagCode di ISessionManager che farà proprio questo, e se non hanno effettuato l'accesso, creerà un CheckLogin e avvia il Intent attraverso questo. LoginActivity essenzialmente avvolgersi attorno al LoginActivity di PCL.

Il problema in cui sto correndo è che, facendolo in questo modo, il LoginPage viene eseguito asincrono in cima a qualsiasi pagina chiamata. Questa pagina chiamante è in uno stato interrotto, tuttavia, perché non è ancora inizializzato correttamente attraverso il servizio di riposo ancora. Immagino che ci siano due possibili soluzioni. Esegui il LoginActivity in modo sincrono (che non penso sia possibile) o ripensare al mio design. Ecco la configurazione Intent:

var intent = new Intent(_context, typeof(LoginActivity));
intent.AddFlags(ActivityFlags.NewTask);
_context.StartActivity(intent);
.

Ho controllato diversi forum Xamarin per i post correlati su questo, ma non hanno trovato molto oltre i flussi di lavoro di base di base in Xamarin.Forms.

Modifica: ho trovato qualcosa di analogo a quello che sto cercando di fare qui:

È stato utile?

Soluzione

Perché stai creando una loginattività?È perché devi usare qualcosa di nativo da Android?

Il mio primo pensiero è che dopo aver controllato lo stato del token sull'oratoraggio, è possibile decidere di spingere o meno il Modal per la pagina di accesso, dopo aver eseguito il login dell'utente e il token è salvato, puoi saltare ilModal e mostrerà la pagina precedente che l'utente era.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top