ウェブアプリ関連のAndroidアプリがあり、これを使用するにはユーザーがログインする必要があります。ユーザーは、ログイン画面のアクティビティにログインし、他のアクティビティに進みます。ユーザーがアクティビティを開始するたびに、アプリは自分のログイン認証情報を再度確認します(認証情報はどこかの中央データベースに保存されます)。ログイン画面にユーザーをキックする方法スタック内の他のすべてのアクティビティを通過するアクティビティ?
ユーザが1つのアクティビティから別のアクティビティにジャンプするときに、ユーザのログインクレデンシャルがサービスから取り消されているように見せかけます。次回ユーザがアクティビティを訪れたときに、彼はもはやアクセス権がないことをアプリは見るでしょう。アプリはユーザーをログイン画面のアクティビティに戻すはずです。
しかし、ユーザーがアプリを使用したときにアプリが作成したアクティビティのスタックが既に存在するため、ログイン画面はどのように取得されますか。ログイン画面のアクティビティ(アプリケーションのスタックの一番下にあるアクティビティ)に達するまで、すべてのアクティビティを殺したり破壊したりしますか?
または、新しいログイン画面アクティビティを開始して、それに直接進みますか?
FLAG_ACTIVITY_CLEAR_TOP
をインテントに渡してログイン画面アクティビティを呼び出す必要がありますか?
アクティビティがスタック内の唯一のものであれば、2回目のログイン(ユーザーの資格情報を元に戻す)ができたら、戻るボタンを押すとアプリから彼が引き抜かれます彼の資格が取り消される前に彼がやっていたことに戻ること。これに最善のアプローチは何ですか?
質問には1つの回答はありません。それは多くの設計上の決定に大きく左右されます。 – Falmarri
ええ、私は今それを認識します。人々がこれに使うベストプラクティスがあるかどうかはわかりませんでした。 –