Я разобрался, как решить эту проблему:
Как упомянул @Karthikeyan в своем комментарии, установка launchMode в "singleInstance" является причиной проблемы.Я изменил его на "singleTask", и он работал нормально.
На самом деле, согласно документу Google, указанному в https://developer.android.com/guide/components/activities/tasks-and-back-stack,
"singleInstance".То же, что и «singleTask», за исключением того, что система не запускает никаких других действий в задачу, содержащую экземпляр.
Таким образом, логически, с «singleInstance», операция при восстановлении из фона не имеладругое действие в том же заднем стеке, и, следовательно, вызов метода finish () просто завершит действие, не восстанавливая его вообще (самое первое действие выполняется в фоновом режиме и выполняется в другой отдельной задаче)