アプリの起動動作が複雑になる! 実行中にアプリを上書きしてアップグレードした後、再起動の動作に問題があります。
通常、アイコンをクリックして再開すると、ホームキーによって停止されたため、実行中の最後のアクティビティが表示されます。これは期待どおりに動作し、すべてのアクティビティは標準の launchMode で呼び出されます。
そこは問題ありませんが、ここで問題です。実行中に同じapkを実行して再インストールまたはアップグレードすると、アプリは常にandroid.intent.category.LAUNCHERプロパティを持つアクティビティAで起動し、アプリを強制終了するまで最後のアクティビティBを表示しませんタスクマネージャーを起動して再起動してください。
この動作はわかりません。また、Play ストアでアップグレードしたときに同じ問題が発生するかどうかもわかりません。
私が見つけた状況を満たすためのシーケンスは次のとおりです
- アプリをインストールします (アプリには少なくとも 2 つのアクティビティが必要です。1 つはランチャーとして、もう 1 つは移動するためのものです)。
- アプリアイコンでアプリを起動
- LAUNCHERアクティビティAが表示されます
- アクティビティBに移動
- ホームキーを押します
- アプリのアイコンでアプリをもう一度起動します
アクティビティBでアプリ起動 <------------------------------------- チェックポイント!大丈夫だよ。
ホームキーを押します
- 同じバージョン以上でアプリを再インストールする
- アプリアイコンでアプリを起動
- アプリはアクティビティ A で起動します
- アクティビティBに移動
- ホームキーを押します
- アプリアイコンでアプリを起動
アクティビティAでアプリ起動 <---------------------------------------- チェックポイント!何か問題でも。
アプリを殺す
- アプリアイコンでアプリを起動
- アプリはアクティビティ A で起動します
- アクティビティBに移動
- ホームキーを押します
- アプリアイコンでアプリを起動
- アクティビティBでアプリ起動 --------------------------- チェックポイント!問題はなくなりました。
静的オブジェクトの問題など、この問題についてさらに問題が発生したと思います。なぜこのようなことが起こるのか教えてください。
ありがとう。