[解決済み] これまでの活動をすべて終了する
質問
私のアプリケーションには、次のようなフロー画面があります。
Home->screen 1->screen 2->screen 3->screen 4->screen 5
これで、共通の
log out
ボタンを各画面に表示します。
(
Home/ screen 1 / screen 2 /screen 3/ screen 4 / screen 5
)
ログアウトボタンをクリックすると、すべての画面が終了し、新しい画面が表示されるようにしたい。
Log in
が開かれます。
ほぼすべての
FLAG_ACTIVITY
を実現するために必要です。
また、stackoverflowのいくつかの回答にも目を通しましたが、問題を解決することはできませんでした。
私のアプリケーションはAndroid 1.6に搭載されているので
FLAG_ACTIVITY_CLEAR_TASK
この問題を解決する方法はありますか?
解決方法は?
使用する。
Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
これでhomeの上にあるアクティビティはすべてクリアされます。
ユーザーがログインしてhomeが作成された時点でログイン画面が終了し、その後その上に1~5までのすべての画面が表示されることを想定しています。私が投稿したコードでは、他のすべてのアクティビティを終了してホーム画面に戻ります。インテントに追加して、ホーム画面のアクティビティでそれを読み、それも終了させることができます(そこから再度ログイン画面を起動するとか)。
よくわかりませんが、このフラグでログインに行くことも試してみてください。その場合、アクティビティがどのように順番付けされるかはわかりません。そのため、現在いる画面を含め、その画面より下にあるものがクリアされるかどうかは分かりませんが、間違いなくその方法です。
関連
-
[解決済み] Androidです。前のアクティビティに戻る
-
[解決済み] Javaにデストラクタはありますか?
-
eclipseにプロジェクトをインポートした後、Editorにmain typeが含まれない問題
-
[解決済み] Androidアプリケーションのアクティビティ間でデータを受け渡すにはどうすればよいですか?
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
-
[解決済み】戻るボタンをホームボタンのように動作するように上書きする
-
[解決済み】前のアクティビティに戻るのを防ぐには?
-
[解決済み】ログアウト時にアクティビティ履歴をクリアすると、「戻る」ボタンでログイン中のみのアクティビティを開けなくなる。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
java.util.NoSuchElementException 原因解析と解決方法
-
スタイルシートとして解釈されるリソースが、MIMEタイプtext/htmlで転送される。
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
javaの実行中に「javaの例外が発生しました」と表示された場合はどうすればよいですか?
-
jd-gui Java Exceptionが発生しました。
-
JavaMailのメール送信が失敗するケースとその説明の分析
-
サーブレットクラスのインスタンス化エラーの解決法
-
VMの初期化中にエラーが発生しました java/lang/NoClassDefFoundError: java/lang/Object
-
リソースの読み込みに失敗しました。サーバーはステータス500(内部サーバーエラー)で応答しました。
-
[解決済み] Androidです。バックスタックから以前のアクティビティをすべて削除する