2017-11-29 4 views
1

Ich habe eine Gluon Mobile (Glisten Afterburner) -App und möchte verhindern, dass der Benutzer durch Drücken der Zurück-Taste zum Anmeldebildschirm der App gelangt in Android.Verhindern, dass die Zurück-Taste auf die Anmeldeseite auf Android/IOS in einer Gluon-App geht

Es gibt Möglichkeiten, dies für eine bestimmte Aktivität in nativem Android-Code zu tun. Wie implementiere ich es in Gluon?

+0

bedeutet, dass Sie den Benutzer auf dem Anmeldebildschirm einschränken möchten, wenn sich der Benutzer in der App befindet und er sich auf dem anderen Bildschirm befindet? –

+0

Ja, ich möchte den Benutzer davon abhalten, zum Anmeldebildschirm zu gehen, wenn der Benutzer in der App ist. – Vaishnavi

Antwort

1

Während @ Bek Antwort auf einem reinen Android Ansatz funktionieren wird, mit Gluon Ansichten und den Glitzern-Nachbrenner Rahmen gibt es eine gleichwertige Art und Weise:

Wenn Sie Ihr Projekt mit dieser Vorlage erstellen, gibt es zwei Ansichten, definiert mit einigen Fahnen, wie Sie in AppViewManager sehen:

public static final AppView PRIMARY_VIEW = view("Primary", PrimaryPresenter.class, MaterialDesignIcon.HOME, 
    SHOW_IN_DRAWER, HOME_VIEW, SKIP_VIEW_STACK); 
public static final AppView SECONDARY_VIEW = view("Secondary", SecondaryPresenter.class, MaterialDesignIcon.DASHBOARD, 
    SHOW_IN_DRAWER); 

die aufgebrachten Fahnen jeder Ansicht sind selbsterklärend, aber wenn Sie sich erinnern, gibt es eine SKIP_VIEW_STACK Flagge, auf der primären Ansicht angewendet (das ist die Haupt Ansicht): Dies bedeutet, dass die primäre Ansicht nicht zum Stapel hinzugefügt wird und wenn Sie darauf zurückkommen Sie werden nicht zu einer anderen vorherigen Ansicht wechseln, in der Sie zuvor waren. Sie werden die Anwendung einfach beenden.

Sie können dieses Flag auch auf die sekundäre Ansicht anwenden. Dies bedeutet, dass Sie nach dem Wechsel von der primären Ansicht in die sekundäre Ansicht nicht mehr zur primären Ansicht zurückkehren können.

Also habe ich die Ansichten umbenannt, wird die erste der Anmeldung Ansicht sein, und wenn Sie auf die Primary-Ansicht wechseln, werden Sie nicht in der Lage sein, es zu gehen zurück über Back-Button:

public static final AppView LOGIN_VIEW = view("Login", LoginPresenter.class, MaterialDesignIcon.HOME, 
    SHOW_IN_DRAWER, HOME_VIEW, SKIP_VIEW_STACK); 
public static final AppView PRIMARY_VIEW = view("Primary", PrimaryPresenter.class, MaterialDesignIcon.DASHBOARD, 
    SHOW_IN_DRAWER, SKIP_VIEW_STACK); 

Zu einem späteren Zeitpunkt können Sie bei Bedarf jederzeit zur Anmeldungsansicht wechseln.

+0

zu implementieren Danke Jose! der SKIP_VIEW_STACK im zweiten Bildschirm nach dem Login funktioniert – Vaishnavi

+0

Hi @ José Pereda, stieß auf das Problem, dass die App mit dem Anmeldebildschirm beim Fortsetzen der Anwendung neu gestartet wird (dh Klick auf die Schaltfläche auf dem zweiten Bildschirm minimiert es die App und auf das App-Symbol klicken Die App startet mit dem Login-Bildschirm) Ich möchte die App mit dem zweiten Bildschirm wieder aufnehmen – Vaishnavi

+0

Wenn Sie sagen, die Zurück-Schaltfläche "minimiert die App", was tatsächlich passiert, ist, dass die App geschlossen ist. Wenn Sie erneut auf das Symbol klicken, wird eine neue Instanz geöffnet, die offensichtlich den Anmeldebildschirm anzeigt. Beachten Sie, dass beim Überspringen der ersten (Login-) Ansicht vom Stapel die nächste Ansicht zur Home-Ansicht wird und ein Klick zurück die App beendet. –

0

Nach dem Aufruf von startActivity (intent) auf LoginActivity rufen Sie finish() auf. Es entfernt LoginActivity vom Stapel.

+0

Wie oben, Danke für die Antworten, aber ich versuche, dies auf einer Gluon-App und nicht eine Native Android App – Vaishnavi

Verwandte Themen