問題タブ [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.
android - アクティビティ スタックが復元されないようにしますか?
アプリケーションのプロセスが強制終了されると、そのアクティビティ スタックが保存されます。その後、アプリケーションを再起動すると、すべてのアクティビティが再開され、null ポインターが発生します。このイベントに対応するためにすべてのアクティビティを変更するのではなく、アプリケーションをベース アクティビティから開始し、アクティビティ スタックを再作成しようとはしません。
これは可能ですか?
私は Intent.FLAG_ACTIVITY_CLEAR_TOP について知っていますが、私が理解しているように、アクティビティが再作成された後にのみアクティビティを強制終了します。
編集: clearTaskOnLaunchは私が欲しいものですか? デフォルトのアクティビティに追加しましたが、効果がありません。しかし、アプリケーションを最小化したとしても、これは私のアクティビティを殺してしまいますよね? プロセス全体が再起動している場合にのみ、スタックをクリアしたいと思います。
編集 2: いいえ、それは私が望んでいるものではありません。Android エンジニアが、ClearTaskOnLaunch の使用方法に関するいくつかの質問に完全に回答しました: http://groups.google.com/group/android-developers/browse_thread/thread/da024bcaf4e1960f/ab1e2b35c360cb65 ?プリ=1
android - アクティビティ スタックからアクティビティを表示する方法
アクティビティ スタックについて助けが必要です。
私のアプリでは、ユーザーがナビゲートする6つの画面があります
4画面に行くとキャンセルボタンがあります
ユーザーがそのボタンをクリックすると、2番目の画面に移動し、
ユーザーがキーパッドの [戻る] ボタンをクリックすると、既にアクティビティ スタックにあった 1 つの画面に移動する必要があります。
例を教えてください。
android - アクティビティとサブアクティビティ
私のアプリケーションには 5 つの異なるアクティビティ (名前は A、B、C、D、E ) があり、A、B...E を切り替えるためのメニュー (画面下部のボタンで作成) があります。
私がAを表示しているとき、ユーザーがAの上にある別のアクティビティA1に移動し、そこからA12に移動するためのボタンがあるため、私のアクティビティスタックはA> A1> A12のようなものになり、ユーザーはクリックしますB のメニュー ボタンをクリックすると、そこから B1 に移動します。(スタックは A>A1>A12>B>B1 のようになります) ユーザーがボタンを押して A に戻ると、A の上にある A12 が表示されるはずです。
このスカナリオを管理するにはどうすればよいですか? まったくヒントがない
android - 1 つのインテントで FLAG_ACTIVITY_SINGLE_TOP と FLAG_ACTIVITY_CLEAR_TOP の両方を設定できませんか?
フラグを使用FLAG_ACTIVITY_SINGLE_TOP
しFLAG_ACTIVITY_CLEAR_TOP
て、以前の「標準」アクティビティに戻ります。FLAG_ACTIVITY_SINGLE_TOP
新しいインスタンスの再作成を防ぐために使用します。しかし、私が見つけたのは、フラグFLAG_ACTIVITY_SINGLE_TOP
が無視され、アクティビティが終了して再作成されたということです.
ここに私がドキュメントで見つけたものがあります。FLAG_ACTIVITY_CLEAR_TOP : 「終了 - 再作成」を防止するため
FLAG_ACTIVITY_SINGLE_TOP
に使用する場合に追加できると書かれています。FLAG_ACTIVITY_CLEAR_TOP
ここに別のドキュメントがあります。FLAG_ACTIVITY_CLEAR_TOP :
注: 指定されたアクティビティの起動モードが「標準」の場合、それもスタックから削除され、代わりに新しいインスタンスが起動されて着信インテントが処理されます。これは、起動モードが「標準」の場合、新しいインテントに対して常に新しいインスタンスが作成されるためです。
最初のドキュメントを誤解しましたか?
android - 3つのアクティビティスタック
面白いコンセプトを実装する方法を見つけようとしています。
アプリケーションの下部に3つのボタンがあるバーがあるとします。これらをA、B、Cと呼びます。これらをアプリの3つの領域として考えてもらい、それぞれに独自のアクティビティスタックがあります。
Bを押すと、最初にメインのB画面が表示されます。この画面に、リスト上の特定のアイテムの詳細など、別の画面に移動するための機能があるとします。
ここで、詳細画面で下部のボタンCを押すと、メインC画面が表示されます。
Bを押す(または戻るボタンを押す)と、ユーザーはBアクティビティスタックの最後の画面に移動します。これは、メインのB画面ではなく、詳細画面です。
これは可能ですか?物事を正しく理解していれば、A用に1つ、B用に1つ、C用に1つ、合計3つのタスクが必要です。他に何をしなければなりませんか?
android - タスク内でアクティビティを開始
Android で、タスクの先頭ではなく、現在のアクティビティからアクティビティを開始する方法はありますか。
たとえば、アクティビティ A -> B -> C があり、B で新しいアクティビティ D を開始し
ます。A -> B -> D -> C の順序を取得できますか?
ありがとう!
android - Android:onStopの後に「noHistory」属性を使用してアクティビティに戻る方法は?
履歴スタックから特定のアクティビティを削除する方法を探していましたが、ここで解決策を見つけました(Wakkasの回答)。ただし、ホームボタンを押すなどしてこのアクティビティを開いた状態でアプリを閉じ、後でアプリに戻ると、アクティビティは復元されません。
「noHistory」属性を削除すると、属性が戻ってきて、キル後に復元されます。
この動作なしで履歴スタックに表示されないようにする方法はありますか(=次のアクティビティで戻るボタンを押して履歴スタックに戻りたくない)?
よろしく、クラゲ
android - 強制終了時にアクティビティが再開する
単一のルート アクティビティを持つアプリケーションがあります。最近、アクティビティを強制的に閉じるとアクティビティが再起動することに気付きましたが、なぜこれが起こるのかわかりません。キャッチされていない例外を強制するか、「長押しして強制的に閉じる」オプションを使用すると、どちらも同じ結果になります。
私の唯一の推測は、アクティビティの一部への保持された参照に関連する何らかの形の癖だったでしょうが、アプリケーション レベルの一部の WeakReference エントリ以外には何もありません。
関連する logcat エントリ:
どこから突っ込み始めればいいのか、どんなアイデアでも大歓迎です!
編集:これは、マニフェストでandroid:stateNotNeeded="true"を設定したことが原因でした。状態は必要ありませんが、これにより Android は、ユーザーがそれを望んでいると仮定してアプリを再起動するのが最善であると判断しました。
android - Androidでバックグラウンドでアクティビティが実行されていません
ホームボタンをクリックしてアプリを再起動すると、離れた画面にとどまらず、最初の画面から起動します。
手伝ってくれてありがとう。
android - 上部のアクティビティの下にアクティビティを追加する適切な方法
したがって、メイン アクティビティ、免責事項アクティビティ、および更新アクティビティがあります。後者の 2 つは両方ともメイン アクティビティから追加されます。更新アクティビティは、更新が必要かどうかを確認するために一部のデータを取得した後に開始されます。したがって、本質的に何が起こるかは、このスタックを取得することです。
起動時:
メイン -> 免責事項 -> 更新 (免責事項にまだ同意していない場合は、更新を一番上に置きたくない)
メイン -> 更新 (免責事項に既に同意している場合、これで問題ありません)
更新ビューを追加する場合は、免責事項が現在表示されているかどうかを確認し、表示されている場合はその下に更新ビューを追加します。上記のケース 1 の場合、次のようなスタックになります。
メイン -> アップデート -> 免責事項
これを行うための最良の方法は何だと思いますか? 表示されているかどうかを追跡するためにいくつかのブール値を保持してから、免責事項をポップしてプッシュすることもできますが、それは面倒です。