問題タブ [activity-stack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
149 参照

android - アプリが既に実行されているときにランチャーから読み込まれるアクティビティを制御する方法

複数のアクティビティを含むアプリケーションがあります。1 つ目はログイン/起動アクティビティで、その後にアプリケーション (およびその「ログイン」接続) の存続期間中に変更されるアクティビティがいくつかあります。

ユーザーがホーム ボタンを押すと、ランチャーに戻ります。すべて順調です。また、ユーザーが「最近のアプリ」に移動して自分のアプリを選択すると、中断したところに戻ります (望ましい動作)。ユーザーが代わりにランチャーのアイコンに移動してアプリケーションを再起動すると、2 つの動作のいずれかが発生します。1.最近のアプリからアクティビティを選択した場合と同様に、アクティビティが以前の場所に正確に返されます。2. アクティビティは最初のログイン画面に移動します。私が期待していたものではありません。これは、Android のほとんどのデバイスとバージョンには当てはまらないようですが、一部のデバイスでは毎回発生するようです。4.0.4 または 4.1 または 4.2 にピン留めすることはできませんでした。この動作は、一部の電話の 3 つのバージョンすべてで見られます。

ランチャーに移動したときにこれらのシステムのアクティビティ スタック (dumpsys を使用) を見ると、同じように見えます (ランチャーのすぐ下のスタックに最新のものが表示され、アプリケーション スタックも表示されます)。一番上が私の最新のものです)。しかし、ランチャーのアプリ アイコンをクリックすると、ほとんどのデバイスでアイコンが戻ってきて、アクティビティ スタックの一番上に最新のものが表示されます。しかし、これらの他のいくつかのデバイスでは、最近のログイン アクティビティの上にログイン アクティビティが表示されます。ログイン アクティビティ中に「戻る」ボタンをクリックすると、喜んで中断したところに戻ります。

たとえば、一部のデバイスでは、ホームにアクセスしてアプリ アイコンをクリックすると、次のスタックが表示されます。

そして、これらの他のものについては、次のように表示されます。

デバイス/オペレーティング システムでこの動作を制御するオプションはありますか? または、アプリに戻る方法を指示する「ホーム」に移行するときに、アプリに何かする必要がありますか (もしそうなら、なぜ時々だけ必要になるのですか)?

0 投票する
3 に答える
6562 参照

android - Android で Intent.FLAG_ACTIVITY_CLEAR_TOP が機能しない

こんにちは、私はこの A-->B-->C のようなアクティビティ フローを持つ Android アプリケーションを開発しています。

したがって、私の意図は、B がアクティビティ C を開くとすぐに A と B の両方を閉じることです。そのために、2 つのフラグを使用しようとしています。 Intent.FLAG_ACTIVITY_CLEAR_TOP and Intent.FLAG_ACTIVITY_SINGLE_TOP

しかし、クリックして戻ると、アクティビティ B と A の両方が表示されます。このようなアクティビティを開始します

なぜ機能しないのかわかりませんか?私は何か間違ったことをしていますか? 助けが必要。ありがとうございました。

0 投票する
5 に答える
1863 参照

android - 別のアクティビティからのアクティビティの再開

「新しいゲーム」と「再開」ボタンを備えた MenuActivity があります。「新しいゲーム」は FireRoomActivity を開始します。

FireRoomActivity では、onBackPressed がオーバーライドされて MenuActivity に戻ります。

MenuActivity の「再開」ボタンで FireRoomActivity を再開する必要がありますが、これはアプリを終了するだけです。

Q1) 私は何を間違っていますか?

Q2) 3 番目のアクティビティ "ThreeActivity" を追加し、FireRoomActivity (FireRoomActivity の終了) から開始し、この "ThreeActivity" で onBackPressed をオーバーライドして MenuActivity に移動すると、どうすればよいですか?

私はAndroidのライフサイクルに慣れていないので、詳細な返信をいただければ幸いです

0 投票する
9 に答える
49982 参照

android - Androidですべてのアクティビティを終了してアプリケーションを閉じる方法は?

私のアプリケーションには次のフローがあります。

ホーム -> 画面 1 -> 画面 2 -> 画面 3 -> 画面 4 -> 画面 5> ホーム -> 画面 2 -> ホーム -> 画面 3

私の問題は、アプリケーションを閉じようとすると、アプリケーションを閉じようとするたびにホームアクティビティが開くことです。

ユーザーがホーム画面でデバイスの戻るキーを押したときにアプリケーションを閉じたいだけです。

0 投票する
4 に答える
3049 参照

android - startActivityでAndroidの親アクティビティが強制終了されました

リストビューを備えた単純なアプリケーションがあります。ユーザーがリスト項目をタップすると、新しいアクティビティが開始されます

EventDetailsActivity が開始されるとすぐに、HomeActivity が破棄されます (onDestroy が呼び出されます)。ユーザーが EventDetailsActivity から戻るボタンを押すと、HomeActivity が再作成されますが、これは望ましくありません。

そもそも HomeActivity が殺される理由を理解できませんでした。udb を使用してアクティビティ スタックも確認しましたが、HomeActivity は表示されません。

これは、Samsung Galaxy Note 2 でのみ発生しています。

なぜこれが起こっているのでしょうか?

0 投票する
2 に答える
1518 参照

android - アクティビティの古いインスタンスを終了し、同じアクティビティの新しいインスタンスを開始する

私は、それぞれ onClick メソッド newGame() と resume() を持つ 2 つのボタン "New Game" と "Resume" を持つ MenuActivity を持っています。

  • newGame() メソッドは GameActivity を開始し、MenuActivity を終了します。

  • 再開()メソッド。resume() を実行すると、MenuActivity 自体が終了し、事実上 GameActivity が自動的に再開されます。バックスタックになるからです。なぜバックスタックになるのですか?GameActivity では、onBackPressed メソッドが MenuActivity を開始しますが、終了しないため、バックスタックに留まります。

シナリオは次のとおりです。新しいゲーム ボタンが押されます。つまり、MenuActivity が終了し、GameActivity が開始されます。ゲームのある時点でユーザーが戻るボタンを押すと、MenuActivity が開始されます。MenuActivity で、ユーザーが新しいゲーム ボタンをもう一度押します。GameActivity の古いインスタンスを完全に終了し、保持しているすべてのメモリを解放して、新しいインスタンスを最初から開始する必要があります。ただし、現在、新しいゲームが開始されると、古いバージョンはまだメモリ内にあり、DDMS に割り当てられたメモリから確認できます。私が説明したような望ましい効果を得るにはどうすればよいでしょうか?

0 投票する
1 に答える
32 参照

android - 3 活動スタック状況

私は android.developer アクティビティ スタック デモ アプリを使用しています。

初期アクティビティは「A」と呼ばれます。「A」から「B」と「C」のアクティビティを開始できます。基本的に、他の 2 つのアクティビティはどのアクティビティからでも開始できます。

これが私を困惑させる状況です。「A」を開始し、「B」を開始してから「C」を開始します。この時点で、「A」と「B」は本来のように停止します。ただし、アクティビティ「A」(現在の「C」から)を開始すると、「B」と「C」の両方が破棄されます。「B」と「C」が停止する代わりに破壊される理由を誰か説明できますか?

0 投票する
4 に答える
12661 参照

android - noHistory と finish() - どちらが優先されますか?

Activityボタンを押したときにアプリケーションにいくつか(たとえばSplashScreenActivity)を表示させたくありませんback。そのため、以下に示すように、そのために使用noHistory=trueしました。Manifest.xmlActivity

を設定する代わりに、以下に示すように、メソッドまたは必要な場所でnoHistory呼び出すこともできます。finish()SplashActivity.onPause()

どちらも完璧に仕事をします。しかし、どちらを使う、使う、noHistoryまたは呼び出すのが良いfinish()でしょうか?