同様の問題もあります。バックグラウンドでアクティビティとサービスを作成します。サービスがネットからデータを受信すると、アクティビティが開始されます。onStop フェーズでのアクティビティと画面が黒くなるまで、すべてが正常に機能します。この状況でアクティビティの再開をリクエストすると、次のようになります。
onRestart onStart onResume onPause onNewIntent onResume
ご覧のとおり、onResume、onPause、および別の onResume があり、アクティビティがユーザーに届きました。
これは、singleTop または singleInstance アクティビティを使用しているためと思われます (singleTask にも表示される可能性があります)。問題は、既に作成された singleTop アクティビティにインテントを送信すると、新しいインテントが onNewIntent() メソッドをアクティブにすることです。API から次のことがわかります。
アクティビティは、新しいインテントを受け取る前に常に一時停止されるため、このメソッドの後に onResume() が呼び出されることを期待できます。
これが onResume-onPause-onResume 呼び出しを受け取る理由かもしれません。
しかし、これは奇妙な動作です。