問題タブ [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 に答える
926 参照

android - Android アプリケーションのアクティビティ スタックはどのように維持されますか?

私はAndroidプログラミングが初めてです。

特定の Android アプリケーションのアクティビティ スタックがどのように維持され、ユーザー ナビゲーションに基づいてどのように変化するかを理解したいと考えています。

たとえば、複数のアクティビティがある場合、ユーザーが [戻る] ボタンまたは [ホーム] ボタンをクリックするか、新しいアクティビティを起動すると、アクティビティ スタックはどのように動作しますか?

すべての情報を入手できる適切な投稿を見つけようとしましたが、何も得られませんでした。誰かが私がこれを学ぶことができるいくつかのリンク/投稿を提案してもらえますか?

ありがとう!

編集:

これまでに出会ったリンク/投稿:

  1. onSaveInstanceState が値を保存していません ( onCreate 入力バンドルは常に null です)

  2. Save Instance State を使用して Android アクティビティの状態を保存する

  3. Android: 起動モード「単一インスタンス」

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

android - Android:最初のアクティビティとは別に、前のスタックのすべてのアクティビティをクリアする方法

アクティビティ スタックのリストをフォームとして持っていますが、フォームが終了したら、最初のアクティビティ以外のすべてのスタックをクリアしたいのですが、新しいアクティビティを表示して、新しいアクティビティをクリックすると最初のアクティビティに戻ります。

たとえば、A -> B -> C -> D は A -> E になるため、D でフォームを送信した後、E がユーザーに表示されます。

この方法で起動しますか?

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

android - 2 アクティビティは、GPS ステータスが変更されたことを通知されます

私は と を持ってA ActivityおりB Activity、両方とも を実装していLocationListenerます。だから両方持ってる

B Activityから始めA Activityます。GPSをオフにすると、コードに示されているようにB開き、 GPSをオンにして閉じます。GPSが数秒前にオフになったときに通知されるため、戻ってきたときにも表示されます。AlertDialogAlertDialogA ActivityAlertDialog

Bから開いてもAA完全に破棄されず、バックスタックに保存されていると思います。AActivity Backstack から削除せずにこの問題を解決するにはどうすればよいですか? アプリはAlertDialog、画面上にあるアクティビティでのみ開く必要があります。

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

android - Androidは、ホームボタンを押したときにUIの状態を復元しますか?

A と B の 2 つのアクティビティがあります。

私のアプリは A から B に移動します (A -> B)。

B で戻るボタン (ハードウェアの戻るボタン) を押すと、A の状態と UI が正常に復元されます (onResume() が呼び出されています)。問題は、ホーム ボタン (アクションバーの矢印) を押すと、前のアクティビティ A が onCreate() を呼び出すため、戻るボタンを押した場合のようにその状態と UI が復元されないことです。

なぜこうなった?どうすれば解決できますか?

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

android - Android - ナビゲーション ドロワーを使用したアクティビティ スタック/タスク

アプリケーションには 3 つの最上位レベルのアクティビティがあります。アクティビティ A、B & C。

これらの各アクティビティは、ナビゲーション ドロワーをホストします。これら 3 つのアクティビティ間でアクティビティ スタックを管理する最善の方法を見つけようとしています。

たとえば、アプリケーションを起動すると、Activity A が起動されます。アクティビティ A には、アクティビティ B & C のようなナビゲーション ドロワーがあります。ドロワーでアクティビティ B をクリックすると、アクティビティ B が起動し、ドロワーでアクティビティ C をクリックすると、アクティビティ C が起動します。

ドロワーがバックエンド サービスからデータをロードするため、ドロワーが新しいアクティビティを起動するときにこれらのアクティビティを終了したくありません。また、戻るボタンをクリックすると、アプリケーションをバックグラウンドに送りたいと思います。

基本的に、アクティビティが存在しない場合は起動し、存在する場合は再開する方法を探しています。どうすればこれを達成できますか?

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

android - 戻るナビゲーション インテントのインテント エクストラを変更する

次のフローのアプリがあります (同じアプリ内のすべてのアクティビティ):

  • アクティビティ A は でアクティビティ B を開始しstartActivityます。ブール値の "autoContinue"=true エクストラを追加する場合があります。
  • アクティビティ B が開始されると、 で「autoContinue」フラグがチェックさonCreategetIntent().hasExtra("autoContinue")ます。フラグが true の場合、すぐに でアクティビティ C を開始しstartActivityます。

これで、アクティビティ C で戻るボタンを押すための 2 つのシナリオができました。

  • アクティビティ B がまだアクティビティ スタックにあり、破棄されていない場合は、すべて問題ありません。アクティビティ C が閉じ、アクティビティ B が表示されます。
  • ホームボタンを押してアクティビティ C を終了し、アクティビティ C に戻る前に他のことをすると、アクティビティ B が破棄されることがよくあります。アクティビティ C で戻るボタンを押すと、"autoContinue"=true のインテントでアクティビティ B が作成され、すぐにアクティビティ C が再び開始されます。

アクティビティ B のインテントからフラグを削除しようとしましたonCreateが、うまくいきません:

アクティビティ C から戻るときに、インテント エクストラから "autoContinue"=true フラグを削除するにはどうすればよいですか?

0 投票する
0 に答える
36 参照

android - Android ランチャーでホームを押した後、前のアクティビティ スタックに戻る

カスタム ランチャー/ホーム画面を開発しているため、ホーム プレス イベントを渡すことができます。

いわば、目に見えるアクティビティスタックに影響を与えることなく、ホームプレスをインターセプトしたい場合があります。ただし、ホームを押すと、ランチャー スタックが表示されると思いますが、次にやりたいことは、ホームを押す直前に表示された、最後にアクセスしたアクティビティ スタックに戻ることです。どうやってやるの?

ホームを押す直前に表示されていたアクティビティを取得して表示するにはどうすればよいですか?

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

android - スタックからログイン画面を破棄しながらアクティビティ間を移動する方法は?

特定の画面にいて、ユーザーが認証が必要なアプリの特定の部分にアクセスしようとすると、続行する前にログイン画面に移動するアプリがあります。

アプリが現在行っていることは、画面 3 にいるが、画面 4 に移動したいが、最初にログインして画面 4 に移動する必要があるとします。ログイン画面が表示され、ログインすると、ユーザーは画面にリダイレクトされます1 手順を戻して、元の画面に戻す必要がありました。

私が欲しいのは、ユーザーがボタンをクリックして画面4に移動すると、ログイン画面が表示され、ログインすると、ユーザーは画面3に戻ってボタンを再度クリックすることなく、画面4に送信されます。

私が試したのは、finish(); の呼び出しです。ユーザーが正常にログインすると、ユーザーは画面 3 に戻るだけなので、ボタンをクリックして画面 4 に移動する必要があります。もちろん、ログインしているため許可されます。

これをアプリに実装する方法について何かアイデアはありますか?

ありがとう

編集: タイトルは誤解を招く可能性があります。タイトルを言い換えるより良い方法は考えられませんでした。よろしければ、編集をリクエストしてください