私のアプリ用のスプラッシュ画面を実装しました。スプラッシュ画面のアクティビティを起動アクティビティにしました。スプラッシュアクティビティはスタートアップ作業(データの読み込みなど)を行い、その後、「本物の」メインアクティビティを起動します。第三者のアプリケーションから起動したときのスプラッシュ画面の再表示
問題は次のとおりです。他のアプリを起動できるサードパーティのアプリを使用しています。私のアプリがすでに起動しているとしましょう(スプラッシュ画面を過ぎ、実際のメイン画面を表示しています)。次にホームボタンを押してアプリをバックグラウンドに配置します。私はその後、サードパーティーのアプリに私のアプリを起動させる何かをします。私が望むのは、私のアプリを単純に復元することです(アプリのアイコンを携帯電話の通常のランチャーからタップした場合と同じです)。代わりに、スプラッシュ画面をもう一度起動し、私の初期化コードが再び実行されますが、これは嫌です。
これは私のアプリを起動しているサードパーティ製のアプリケーションなので、私は自分のアプリの起動方法を変更する能力がありません。私は、パッケージマネージャに問い合わせを出して起動の意図を得て、それを開始することを前提としています。だから、私は自分のアプリ自体でこれを修正する方法を見つける必要があります。
"実際の"メインアクティビティが既に実行されている場合、スプラッシュ画面のonCreateメソッドから見つけ出す方法はありますか?その場合は、初期化コードをスキップして、既存のメインアクティビティをフォアグラウンドにしますか?