2017-04-05 10 views

Antwort

0

Ich denke, Sie sollten nicht alle Navigationsstapel auswendig lernen. Ihr Gerät entscheidet sich dafür, Ihre App zu beenden oder von der letzten Seite, die Sie gesehen haben, neu zu starten, wenn sie aus dem Hintergrund kommt. Ich denke, Sie können sich merken, ob Sie "eingeloggt" sind oder nicht: Wenn Sie "Angemeldet" sind, können Sie von der ersten Seite "nach dem Login" neu starten, ansonsten "vom Login" starten.

Für diesen Fall, dass Sie einen Blick auf this link und verwenden dann

Properties

public class App : Xamarin.Forms.Application 
{ 
    public App() 
    { 
    } 

    protected override void OnStart() 
    { 
     // Handle when your app starts 
     Debug.WriteLine ("OnStart"); 
     checkLogin(); 

    } 

    protected override void OnSleep() 
    { 
     // Handle when your app sleeps 
     Debug.WriteLine ("OnSleep"); 
    } 

    protected override void OnResume() 
    { 
     // Handle when your app resumes 
     Debug.WriteLine ("OnResume"); 
     checkLogin(); 
    } 
} 

void checkLogin(){ 

     if (Application.Current.Properties.ContainsKey("IsLogged")) 
     { 
      var IsLogged = Application.Current.Properties ["IsLogged"] as bool; 
      // do something with IsLogged 
      if(IsLogged) 
       MainPage = new MyFirstPage(); 
      else 
       MainPage = new MyLoginPage(); 
     } 
     else 
      MainPage = new MyLoginPage(); 
} 
nehmen können, wenn Sie in

Application.Current.Properties ["IsLogged"] = true; 
+0

Ich werde klären angemeldet haben -, dass im Wesentlichen die Logik, die ich an die haben ist Minute. Wenn sie eingeloggt sind, bringe sie auf eine Seite und wenn nicht, bring sie auf eine andere Seite. Wenn der Benutzer jedoch in iOS das Kontrollzentrum aufruft, unterbricht er die App und wenn er das Kontrollzentrum verlässt, führt er die Logik "resume" aus, die ich nicht haben möchte. –