Wie kann ich eine Flutter-Anwendung programmgesteuert schließen? Ich habe versucht, den einzigen Bildschirm zu öffnen, aber das führt zu einem schwarzen Bildschirm.
96
SystemNavigator.pop()
: FUNKTIONIERT NICHT
exit(0)
: Funktioniert, aber Apple kann Ihre App aussetzen, da es gegen die Richtlinien von Apple Human Interface verstößt , die App programmgesteuert zu beenden .
SystemNavigator.pop()
: Funktioniert und ist die EMPFOHLENE Methode zum Beenden der App.
exit(0)
: Funktioniert auch, wird jedoch NICHT EMPFOHLEN, da der Dart VM-Prozess sofort beendet wird und der Benutzer möglicherweise denkt, dass die App gerade abgestürzt ist.
SystemNavigator.pop()
es unter dem Android-Emulator nicht funktioniert. Die App arbeitet immer noch im Hintergrund. Ich bin mir also nicht sicher, ob es auf einem echten Gerät richtig funktioniert.exit(0)
für Ihre Bedürfnisse versuchen .Unten funktionierte perfekt mit mir in beiden
Android
undiOS
ich habeexit(0)
von verwendetdart:io
UPDATE Jan 2019 Bevorzugte Lösung ist:
Wie hier beschrieben
quelle
t work for me... I
versucht, CupertinoTabScafold eine Exit-Schaltfläche hinzuzufügen. Mit () => exit (0) wird ein leerer Bildschirm mit Registerkarten angezeigt.Sie können dies mit tun
SystemNavigator.pop()
.quelle
exit(0);
funktioniertSystemNavigator.pop
wird ignoriert, da die Richtlinien für die Benutzeroberfläche von Apple besagen, dass Anwendungen sich nicht selbst beenden sollten. Unter Android sollte es funktionieren und wird derdart:io
Exit-Methode des Aufrufs vorgezogen . Erwägen Sie, ein Problem einzureichenDie Antworten sind bereits vorhanden, aber bitte kopieren Sie diese nicht einfach und fügen Sie sie in Ihre Codebasis ein, ohne zu wissen, was Sie tun:
Wenn Sie den
SystemChannels.platform.invokeMethod('SystemNavigator.pop');
Hinweis verwenden , dass das Dokument deutlich erwähnt:Sie können verwenden
exit(0)
. Dadurch wird der Dart VM-Prozess sofort mit dem angegebenen Exit-Code beendet. Aber denken Sie daran, dass der Arzt sagt:Wie auch immer, der Arzt hat auch bemerkt
SystemChannels.platform.invokeMethod('SystemNavigator.pop');
:Denken Sie also daran, was Sie tun.
quelle
Das hat bei mir funktioniert;
quelle
Ich benutze lieber
Exit (0) funktioniert zwar auch, aber die App wird abrupt geschlossen und sieht nicht gut aus. Es scheint, dass die App abgestürzt ist.
quelle
Unten funktionierte perfekt mit mir sowohl im Android- als auch im iOS-Import 'dart: io';
quelle
SystemNavigator.pop()
funktioniert nicht in iOS, bitte lesen Sie meine Antwort. Zumindest ab heute gibt es keine Möglichkeit, die iOS-App zu beenden.