0

質問 1) TAB レイアウトが異なる 2 つの基本的なユーザー アクティビティがあります。

user1:管理者 user2:消費者

アプリを起動するたびに、デフォルトで、セッションなしで Consumer Activity のタブにリダイレクトされます。次に、ログイン セッションに応じて、Consumer Activity のタブまたは Admin Activity のタブのいずれかにリダイレクトされるだけのログインに進みます。

管理者にログインすると、管理者セッションで管理者アクティビティのタブにリダイレクトされました。(正しい)

しかし、戻るボタンを押したとき、

ログイン レイアウトにリダイレクトしたり、アプリケーションを閉じたりする代わりに、管理者セッションでコンシューマ タブにリダイレクトします (不正解)

どうすればこれを修正できますか? ある種のFLAGを見た?使い方がわかりません。xxx_FLAG を使用する必要がある場合、どのレイアウトに FLAG を配置すればよいですか?

質問2)ユーザーが電話の戻るボタンまたはホームボタンを押してアプリを閉じるたびにセッションを破棄する方法は?

私の現在の状況は、「abc」などのメンバーとしてログインしたときです。アプリを閉じて再度入ると、「abc」セッションのままです。アプリを閉じる前にログアウトしない限り、セッションがなくても機能します。

4

1 に答える 1

0

それがうまくいく場合は、管理者としてログインするとコンシューマー タブに戻れないように、バックスタックを厳密に制御するだけでうまくいく可能性があります。

しかし、2番目の質問については、 onBackPressed() をオーバーライドしてfinishを呼び出すと、必要な結果が得られるはずです(それが推奨されているかどうかは、私の議論の場ではありません)

@Override
public void onBackPressed() {
    finish();
}

ホームボタンはオーバーライドできないため、アクティビティの状態が変化したときに呼び出されるさまざまな場所にfinish()を追加する必要があると思います(アクティビティのライフサイクルを参照してくださいhttp://developer.android.com /reference/android/app/Activity.html )

于 2013-04-13T05:35:16.747 に答える