問題タブ [launchmode]
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 - Android のタスクとプロセス、SingleTask と SingleInstance
Google Android Developer ページを読みましたが、タスクの概念 ( http://developer.android.com/guide/components/tasks-and-back-stack.html ) は本当に混乱します。
SingleTask と SingleInstance まで読んだ後、私はさらに混乱しています。
例を使って質問したいのですが、これらの質問からよりよく理解できることを願っています:
2 つのアプリケーション A と B があり、A には x、y、z アクティビティがあるとします。B には 1、2、3 のアクティビティがあります。
それらの起動モードが標準であると仮定します (インテント フラグを使用しません)。x はアプリ A のメイン アクティビティです。1 はアプリ B のメイン アクティビティです。
1) アプリ A を起動し、次に x-> y -> 1、ホーム ボタンを押し、アプリ A を再度起動すると、アクティビティ y または 1 が表示されますか?
2) アプリ A を起動し、次に x -> 1 -> y -> 2 -> z -> 3 を押し、ホーム ボタンを押してアプリ A を起動します。すべてのアクティビティが含まれます (x -> 1 -> y -> 2 -> z -> 3)、または x -> y -> z のみが含まれていますか? ここでアプリ B を起動するとどうなるでしょうか。アプリ B にはどのようなアクティビティが含まれますか?
ここで、アクティビティ 1、2、3 が SingleTask であるとしましょう。x、y、z はまだ標準:
3) アプリ A を起動し、次に x -> y -> 1 -> 2、ホーム ボタンを押し、アプリ A を起動します。x -> y のみが含まれますか、それとも x -> y -> 1 -> 2 が含まれますか? ここでアプリ B を起動するとどうなるでしょうか。アプリ B には 1 つだけが含まれますか、それとも 1 -> 2 になりますか?
4) アプリ B を起動し、1 → 2 → 3 → 1 の場合、2 と 3 は破壊されますか?
5) アプリ B を起動し、次に 1 -> 2 -> 3、ホーム ボタンを押してアプリ A を起動し、次に x -> y -> 2 を押して [戻る] ボタンを押して 2 をドロップします。1 -> 3 のみか、1 -> 2 -> 3 か?
誰でも返信して助けてくれてありがとう!
android - アクティビティ起動モードをプログラムで設定する
launchMode
アプリの状態に応じて異なるアクティビティを呼び出す必要があります。ある場合はsingleInstance
、他の場合は -singleTask
です。AndroidManifestlaunchMode
で設定する方法は知っていますが、動的プロパティである必要があるため、コードから実行する必要があります。アクティビティを開始する前に、インテントに特定のフラグを追加できると思ったのですが、フラグしか見つかりませんでした。この問題を解決する方法はありますか?ありがとうsingleTop
android - apk ファイルの別のインストール方法
apk ファイルのインストール時に問題が発生します。次のとおりです。 1. Eclipse の /bin からの apk ファイルのコピー
方法 1:
コマンドラインを使用: adb install [apk ファイルへのパス]
結果 1: - アプリ内の任意の場所に移動し、ホーム ボタンをタッチします。
- ランチャーを使用してアプリを再実行し、アプリを前の画面に移動します (ok)
方法 2:
その apk ファイルを sdcard にコピーし、クリックして直接実行します。
結果 1:
- アプリ内の任意の場所に移動し、ホーム ボタンをタップします。
- ランチャーを使用してアプリを再実行し、アプリを最初の画面に移動します (OK ではありません)
AndroidManifest: これらはタグ アプリケーションで定義されます
APKをエクスポートして直接インストールし、Eclipseでadbまたはctrl + f11によるインストールのようにするにはどうすればよいですか?
@marek-sebera に感謝します。問題を解決しました。アプリを開く方法が異なり、アプリをインストールする方法ではありません。
android - そのようなアクティビティの動作を実装することは可能ですか?
次の 2 つのアクティビティがありますActivityA
。ActivityB.
からActivityA
に行きActivityB
ます。Activity A
次に、いくつかのリスト項目を選択し、選択したデータで (同じインスタンス)に戻ります。そして最も難しいのは、今すぐ戻ると、ActivityB
(同じインスタンスと保存されたビュー状態で) に戻る必要があることです。
実装することは可能ですか?属性経由では必要ありません。ActivityManagerlaunchMode
経由でアクティビティを手動で管理する別の方法があるかもしれません。
android - Android - 通知バーから開始されたアクティビティを戻る
[以下の更新]
複数のアクティビティを含むアプリケーションがあります。通知アイテムのクリックから開始されたアクティビティの処理に問題があります。
以下はアプリの構造です。
- 通常の流れ/作業の場合、ユーザーがアプリを起動するとActivity Aが起動Activityで起動します。ユーザーはアクティビティ A からアクティビティ B に移動できます (つまり、A -> B)
- B の戻るボタンをクリックすると、アクティビティ A が表示されます。
ただし、問題は、通知のクリックからアクティビティを開始することです。以下の流れです。
- ユーザーが通知をクリックする
- 活動B開始
- アクティビティ B の [戻る] ボタンをクリックしても、アクティビティ A は開始されませんが (これは理解できます)、アクティビティ B も強制終了されません (アクティビティ B をバックグラウンドに移動します)。私が望むのは、通知のクリックによってアクティビティ B が開始された場合、B を押すと、ユーザーがアクティビティ A に移動するか、アクティビティ B を強制終了する必要があるということです。
この点に関する指針をいただければ幸いです。
[アップデート]:
奇妙ですが、これが今起こっていることです。1. アクティビティ B の onBackPressed イベントをオーバーライドします。 2. このメソッドでは、finish() が呼び出されます。
アプリケーションが既に実行されていて、通知をクリックするとアクティビティ B が表示され、バック プレスでアクティビティ B が終了する場合。ただし、アプリケーションが実行されていない場合、通知のクリックでアクティビティ B が開始され、バック プレスで、バックプレス イベントと finish() メソッドが呼び出されますが、アクティビティは終了せず、バックグラウンドになります。これは本当に奇妙です。または、いくつかの詳細が不足している可能性があります:((
ありがとうシュリー
android - launchMode アクティビティの問題
カスタムランチャーを実装しています。私は2つのアクティビティを持っています.launchModeのアクティビティA:singleInstanceまたはsingleTask、およびアクティビティB.
アクティビティ A がメイン画面です。2 つのケースがあります。
- アクティビティ A の launchMode : singleTask を設定した場合、アクティビティ A からアクティビティ B を呼び出します (問題ありません)。アクティビティBで、ホームキーを押してメイン画面に戻ると、画面が空になります(何もありません...)。
- アクティビティ A の launchMode : singleInstance を設定した場合、アクティビティ A からアクティビティ B を呼び出すと、アクティビティ B に移動した後に空白の画面が表示されます (この場合、ホーム キーを押してメイン画面に戻ると、正常に動作します)。
では、これを解決するにはどうすればよいでしょうか。私が欲しい:アクティビティAからアクティビティBを呼び出してから、アクティビティBに直接行き、ホームキーを押すとメイン画面(アクティビティA)に戻ります。
android - Android での戻るナビゲーションの動作
アプリにいくつかのアクティビティがあります: A - ログイン アクティビティ B - メイン アプリ アクティビティ C、D ... - 内部アクティビティ 次のような動作を実装したい:
- ユーザーがアプリのアイコンを選択するか、タスク リストからアプリを選択すると、バック スタックがクリアされ、アクティビティAが表示されます
- ユーザーがAを通過したとき、アクティビティBで戻るボタンを押すと、アプリケーションが終了します
- 内部アプリのユーザーが押し戻すと、「正常に」機能します。
例: アクティビティ スタックA -> B -> C -> D 最初に [戻る] ボタンを押すと (トップ アクティビティはD ) 、スタック トップのDがポップされ、次のようになります: A -> B -> Cクリックもう一度 (トップ アクティビティはC ) A -> Bに移動し、もう一度クリックするとアプリが終了します (2 で説明)。
Aのプロパティに追加android:noHistory="true"
して(2) を実装し、 Aのプロパティに追加して AndroidManifest.xml
(1) を実装しようとしましたが、それを行うと (3) が壊れ、 Dが表示されているときにクリックして戻ると 、 Aに直接移動します.android:launchMode=singleTop
AndroidManifest.xml
どうすればそれらすべてを実装できますか?
ありがとう!
android - アクティビティの開始中に java.lang.RuntimeException を取得する
A
これは、SingleTop
次のような別の意図データを使用して、彼女の中でこのアクティビティを開始したいときです。
この例外が発生します:
私は何をすべきか?私は何か間違ったことをしていますか?
ありがとう
ファイルのEDIT 1
で、activity で開くようAndroidManifest.xml
に定義しました。something://
A
EDIT 2
アクティビティA
がそうでない場合singleTop
、問題はありません。
編集 3
このエラーによってアプリが強制的に閉じられることはありません。実際、問題は、このエラーが発生した直後に、次のようなエラーが発生することです。
これは私のアプリを殺します。