Nehmen wir an, Sie haben eine Web-App für Android-Anwendungen, bei denen sich der Benutzer anmelden muss, um sie verwenden zu können. Der Benutzer meldet sich in der Anmeldebildschirm-Aktivität an und geht dann zu anderen Aktivitäten über. Jedes Mal, wenn der Benutzer eine Aktivität startet, überprüft die App seine Anmeldeinformationen erneut (die Anmeldeinformationen werden irgendwo in einer zentralen Datenbank gespeichert).Wie man Benutzer zum Login-Bildschirm kickt Aktivität durch alle anderen App-Aktivitäten im Stapel?
Wenn der Benutzer von einer Aktivität zu einer anderen springt, können Sie so tun, als ob die Anmeldeinformationen des Benutzers vom Dienst widerrufen werden. Wenn der Benutzer das nächste Mal eine Aktivität besucht, erkennt die App, dass er keinen Zugriff mehr hat. Die App sollte nun den Benutzer zurück zum Anmeldebildschirm Activity führen.
Aber da es bereits einen Stapel von Aktivitäten gibt, die die App erstellt hat, als der Benutzer die App verwendet hat, wie erhalten Sie den Anmeldebildschirm. Töten/zerstören Sie alle Aktivitäten, bis Sie den Anmeldebildschirm Activity erreichen (was die Aktivität am unteren Ende des Stacks für die App sein sollte)?
Oder starten Sie eine neue Anmeldebildschirm Aktivität und gehen Sie direkt zu diesem?
Oder sollte ich die Login-Bildschirm-Aktivität mit der FLAG_ACTIVITY_CLEAR_TOP
durch die Absicht übergeben aufrufen?
Nachdem sich der Benutzer das zweite Mal anmelden konnte (sagen wir, er hat seine Anmeldeinformationen wiederhergestellt), wenn die Aktivität jetzt die einzige im Stapel ist, wird er durch Drücken der Zurück-Taste aus der App entfernt zurück zu dem, was er getan hat, bevor er seine Beglaubigung widerrufen hat. Was ist der beste Ansatz dafür?
Es gibt keine einzige Antwort auf Ihre Frage. Es hängt sehr viel von vielen Designentscheidungen ab. – Falmarri
Ja, das ist mir jetzt klar. Ich war mir nicht sicher, ob es eine Best Practice gab, die Leute dafür benutzen oder nicht. –