私のアプリケーションはフォアグラウンドサービスを開始し、サーバーへの接続を維持します。これは、pendingIntent witchshowMainActivityを使用したショー通知です。i(ユーザー)が(デスクトップまたはアプリケーションリストの)アプリケーションアイコンをタップすると、「タスクスタック」が表示されます。つまり、MainActivityが昼食された場合はそれが表示され、ユーザーがアクティビティBまたはCに移動した場合(または他のアクティビティを昼食した場合)はそれが表示されます(つまり、タスクスタックの最上位のアクティビティを意味します)。問題があります-ユーザーが通知をタップすると、MainActivity(スタックの一番上)が再び表示されますが、タックスタックの一番上にあると思います(アクティビティB、Cまたは他の魔女は最後にユーザーによって昼食されました)。
MainActivity "singleTask"の属性を設定すると、半分が解決します。これは常にタスクスタックのルートですが、すべてのアクティビティ(B、C、およびその他のユーザーが昼食をとっている)を失っています。スタックの最上位でのアクティビティの再利用と同様のソリューションですが、ルートで必要なアクティビティは1つだけです。
たぶん私の論理が間違っていて、この問題を解決するための別の方法が必要です。しかし、アプリケーションアイコンのようにタスクスタック(トップアクティビティ)をプログラムで表示するにはどうすればよいですか?