問題タブ [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 投票する
2 に答える
646 参照

android - デバイスの戻るボタンを上書きして、以前のアクティビティを表示しないようにする

ログアウトオプションのあるActivity_Aがあります。それをクリックすると、ログインアクティビティを呼び出します。したがって、ログインアクティビティでデバイスの戻るボタンをクリックすると、ログアウトオプションがあるActivity_Aに戻ります。ログインアクティビティでデバイスの戻るボタンをクリックすると、デバイスのホーム画面に移動する必要があります。「アプリケーションを閉じる」や「アクティビティスタックをクリアする」など。

私はこれを試しました:

しかし、それは機能しませんでした。上記のコードでfinish()を使用してみたところ、Activity_Aの前に呼び出したアクティビティに移動しました(予想どおり)。

私は自分のケースを検索しましたが、完璧な解決策を見つけることができませんでした。誰かが私が望んでいたことを達成するのを手伝ってくれませんか?

ログインアクティビティをクリックして、デバイスの戻るボタンonClickをオーバーライドして、デバイスのホーム画面を表示し、すべてのアクティビティスタックをクリアすることを考えています。はいの場合、それは安全ですか?

これは私がLoginActivityで行ったことであり、私が望んでいたように機能します

しかし、onBackPressed()をオーバーライドせずにこれを達成する他の方法はありますか?

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

android - スタック内で複数離れている別のアクティビティからメイン アクティビティに戻るにはどうすればよいですか?

たくさんのボタンがあるメイン メニュー アクティビティがあります。1 つのボタンで、ユーザーがフォームに入力して送信できる新しいアクティビティを開始します。ユーザーがフォームを送信すると、3 番目のアクティビティが開始されます。基本的には、コンテンツを含む画面と、メイン メニューに戻るためのボタンだけです。しかし、インテントを作成してメイン アクティビティに移動すると、setContentView() が機能せず、ボタンの割り当てによって NullPointerException が発生します。

インテント フラグを使用するか、finish() を呼び出すことで、スタックに戻る方法があることはわかっています。などのインテント フラグでは成功していませんIntent.FLAG_ACTIVITY_CLEAR_TOP。私は 1 つではなく 2 つのアクティビティから離れているため、finish() は機能しません。メインアクティビティに戻る適切な方法は何ですか?

ありがとう

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

android - onCreateは、意図的に戻った場合に常に呼び出されます

SurfaceViewがあり、カメラのプレビュー画像を表示するHomeActivityというアクティビティがあります。このアクティビティは静かで重く、開始/再開すると遅く感じます。

そこで、調査を行ったところ、どういうわけか常にonCreateメソッドが呼び出されていることがわかりました。私の意見では、アクティビティがすでに開始されている場合、これは発生しないはずですか?

ドキュメントには次のように書かれています:アクティビティが最初に作成されたときに呼び出されます。ここで、通常の静的設定をすべて行う必要があります。ビューの作成、データのリストへのバインドなどです。このメソッドは、アクティビティの以前にフリーズされた状態(存在する場合)を含むバンドルも提供します。常にonStart()が続きます。

戻るを処理するメソッドは次のとおりです。

編集:

これが私がHomeActivityを離れる方法です...特別なことは何もありません:

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

android - デバッグでアクティビティスタックを確認するにはどうすればよいですか?

終わったと思ったら、活動のひとつが飛び出してしまうという問題があります。

アクティビティのスタックを確認する方法はありますか?

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

android - Browser を Intent として開くが、Activity スタックに保持しない

アクティビティ スタックと、それがアプリに与える影響の動作を理解するのに問題があります。

ボタンをクリックすると、ブラウザを開くインテントが開始されます。ブラウザでホームボタンを押すと、ホームスクリーンに着陸します。ランチャーを介してアプリを再度起動すると、アプリではなくブラウザーが開きます。アプリの起動時にブラウザを開かないようにするにはどうすればよいですか?

現在、URL を開くコードは次のようになります。

間違ったフラグを使用していますか? もしそうなら、どのフラグを使用する必要がありますか?

前もって感謝します!

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

android - アクティビティスタックの動作の変更

AとBの2つのアクティビティがあります。ユーザーは、クレイジーなAのようにそれらの間を圧縮し、次にBに移動してからAに移動します。今では、AとBのすべての「レイヤー」を介して家に戻るという通常の動作は望ましくありません。

ユーザーがAにいる場合はホームに戻り、Bにいる場合はAに戻り、可能な限り従来のシステムフレンドリーな方法で実行したいと考えています。つまり、この回避策は必要ありません。アクティビティスタックがいっぱいになり、新しいタスクでアクティビティを開始したくありません。

アクティビティAでandroid:clearTaskOnLaunch = "true"を使用してみましたが、文書化されているので最善の方法のようですが、文書化された動作は提供されません。それがない場合と同じように動作します...

何を指示してるんですか?

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

android - プログラムによるアプリケーションを介したアクティビティスタックの処理

アプリケーションA->B->C->Dに4つのアクティビティがあります。

Activityクラスを拡張する独自のクラスMyActivityを作成します。このクラスは、アクティビティスタックを処理するために作成します。このクラスには、addActivitiyTostack()とgetActivityFromStack()の2つのメソッドがあります。アクティビティを格納するためにスタックを使用しました。

他のすべてのアクティビティは、このクラスを拡張します。インテントを使用してあるアクティビティから別のアクティビティに移動すると、スタックに追加されました。

そして、私が移動すると、バックワードアクティビティがポップアップ表示されます。スタックにアクティビティを正しく追加できますが、アクティビティをポップするのに問題があります。

また、すべてのアクティビティにログアウトボタンがあります。このボタンのOnClickアプリケーションを閉じたいのですが、どのように実装しますか?Androidでアクティビティスタックを処理する方法は誰でも知っています。

これは私のコードです。

A->

B->

C->

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

android - 明示的に呼び出さずにアクティビティ スタック内の最初のアクティビティに戻る

2 つのライブラリ プロジェクトで構成されるアプリを開発しています。どちらのライブラリ プロジェクトも実際のアプリで使用されます。

最初のライブラリ プロジェクトは、アプリ全体のダッシュボードの形でメイン メニューが含まれているため、メイン ライブラリ プロジェクトと見なすことができます。ダッシュボードの 1 つのエントリから、ユーザーは 2 番目のライブラリ プロジェクトの一部であるアクティビティを開始できます。

すべてのアクティビティと、このアクティビティから開始できるすべてのアクティビティは、2 番目のライブラリ プロジェクトの一部でもあります。したがって、2 番目のライブラリ プロジェクトは最初のライブラリ プロジェクトについて何も知りません。

アクション フローの最後で、ユーザーは 1 つのボタンをクリックしてダッシュボード アクティビティに戻る必要があります。したがって、最初のアクティビティ (ダッシュボード) を除くアクティビティ スタック全体をクリアする必要があります。通常、フラグ FLAG_ACTIVITY_CLEAR_TOP を使用してダッシュボード アクティビティを開始することでこれを行います。また、履歴が必要なため、 FLAG_ACTIVITY_NO_HISTORY を使用することはできません。

しかし、前に述べたように、2 番目のライブラリ プロジェクトのどのコンポーネントも、メイン ライブラリ プロジェクトについて何も認識してはなりません。そのため、フラグを使用して Dashboard アクティビティを呼び出すことは解決策ではありません。

そのため、メイン ライブラリ プロジェクトのダッシュボード アクティビティではなく、2 番目のライブラリ プロジェクトのすべてのアクティビティを終了する方法を探しています。

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

android - Androidでアクティビティスタックをクリアする

LoginActivityランチャー画面としてがあります。そしてSettingsActivity私のようにfifth screen

logout button設定画面があります。このボタンの、アクティビティ スタックから 残りのすべてのアクティビティをクリアするOn clcikにはどうすればよいですか?Screen-1 (i.e LoginActivity)(i.e 2nd, 3rd, 4th)

注:私は終了しましLoginActivityたが、残りの活動はありません。前もって感謝します

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

android - Cleartopを与えた後、アクティビティスタックがクリアされていません

下部に4つのボタンがあります。A、B、C、Dと仮定します。これらのボタンはウィジェットとして作成し、すべてのレイアウトに含めています。ボタンをクリックするたびに、Commonクラスで実装した1つのアクティビティを開きます。アプリケーションが起動すると、Aは選択された状態になり、AIの下でいくつかのアクティビティA1、A2、A3が開始されます。Bを押すと、Bが選択状態になり、B1アクティビティが開始されます。B1を開始するときにCLEAR_TOPフラグを設定していますが、Aで開始したアクティビティがクリアされていません。もう一度Aボタンをクリックすると、A1アクティビティが開始され、A2やA3(以前に開始された)などのすべてのアクティビティがクリアされます。しかし、B1、B2はクリアされていません。なぜそれが起こっているのか。