問題タブ [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 - 単一のアプリケーションで異なるアクティビティ スタックに対して単一の変数 [APP_MODE] を維持する
私は 3 つのランチャー スプラッシュ アクティビティがあるアプリケーションに取り組んでおり、インストールされるとすぐに 3 つのランチャー アイコン (3 つのアクティビティ用) が表示されます。
各アクティビティは異なるアクティビティ スタックで開始され、残りのコードは 3 つのスタックすべてで共通であるため、アクティビティが開始されたスタックと区別する変数が必要です。それに基づいて、データをロードします。
また、複数のスタックが既にバックグラウンドにある場合のプッシュ通知の場合、特定のスタックでアクティビティを起動する方法。
android - Android Lollipop の動作の変更
Android Lollipop の変更に従って、次を参照してください。
自分のアプリケーションから他のアプリケーションのアクティビティを開始すると、動作がデフォルト (launchmode が標準) であっても、新しいタスクで開く必要があると思います。そこで、同じ動作を確認するために 2 つのテスト アプリを作成しました。しかし、驚いたことに、起動モードが指定されていない場合、他のアプリは常に私のアプリのタスクで開きます。これを Xiaomi Redmi Note 3 (5.1.1)、Marshmallow エミュレーター (x86) でテストしましたが、動作はどちらも同じです。これについての助けと、Android 開発者のサイトからの参照用のリンクをいただければ幸いです。
いくつかのコード:
アプリの起動からボタンをクリックすると、インテントが起動され、アクティビティ B が正常に開きますが、同じタスク内にあります。ヘルプ/提案をお寄せいただきありがとうございます。
android - onNewIntent() が singleInstance 起動モードと一緒に使用されないのはなぜですか?
onNewIntent() が singleInstance 起動モードと一緒に使用されないのはなぜですか? つまり、singleInstance アクティビティを再起動した場合でも、その新しいインテントを取得したい場合がありますよね?
android - ホーム画面に移動して再度開いた後の Android アプリのライフサイクルの問題 (最初のアプリの起動後のみ)
Play ストアからアプリをダウンロードしてインストールすると、次の問題が発生します。
初めてアプリを起動して LoginActivity (intent-filter MAIN と LAUNCHER を含む) に入った後、ログインしてから MainActivity を起動します。これには、緑色のボタンが付いた HomeFragment があります。ボタンを押すと、緑色のボタンが非表示になり、オレンジ色のボタンが表示されます。ここで「ホーム」ボタンを押すと、デバイスはホーム画面に移動し、新しいアプリ アイコン用のスペースがあるページにアニメーション化し、アニメーション化されたアプリのアイコンを追加します (新しいダウンロードであるため)。アイコンをクリックしてアプリを再度開くと、MainActivity と HomeFragment に戻りますが、UI は Fragment が作成されたばかりのように見えます (緑色のボタンが表示され、オレンジ色が非表示になっています)。次に戻るボタンを押すと、画面が閉じているように見え、その後ろに「古い状態」の MainActivity/HomeFragment が表示されます。しかし、UI はすぐに緑色のボタンに戻ります。もう一度戻るボタンを押すと、期待どおりにアプリを終了します。アプリを強制終了して再起動すると、この問題は発生しなくなり、動作は期待どおりになります (ホーム ボタンを押してアプリを再度開くと、UI はそのままの状態になります)。
この問題は、Nexus 5、Android 6.0.1 で発生します。Genymotion 仮想デバイス (Galaxy S3、プレイ サービスがインストールされた Android 4.4.1) で上記と同じ手順を実行しても問題はなく、アプリは正しく動作しています。
Android Studio からデプロイする場合、この問題は発生しません。
何か案は?問題は何でしょうか?android:launchMode="singleTop"
マニフェストで MainActivity に追加しましたが、成功しませんでした。
もちろん、Android Studio からデプロイするときには (最初にアプリをアンインストールしても) 発生しないため、デバッグも困難です。そのため、最初に Play ストアに更新を送信して変更の結果を確認する必要があります。
android - Android: singleInstance launchmode を使用する必要がある場合
アクティビティには、標準、シングルトップ、シングルタスク、シングルインスタンスの 4 つの起動モードがあります。前の 3 つは比較的理解しやすく、広く使用されています。しかし、これまでのところ、singleInstance を使用するシナリオは見つかりませんでした。
実際の使用例のいくつかは、ランチャーのアクティビティ、またはアクティビティが 1 つしかないことを 100% 確信しているアプリケーションです。
以前に使用したことのある人はいますか?