Вы можете попробовать флаг Intent.FLAG_ACTIVITY_NO_HISTORY . Это завершит ваши действия, как только перед ними появится новое действие.
Вы можете поместить это в намерение, когда начинаете занятие:
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
или вы можете установить его в своем манифесте, чтобы ваша активность всегда имела этот флаг:
android:noHistory="true"
как атрибут в теге <activity ... />
этого действия.
Таким образом, вы можете не пытаться звонить finish
в onPause
. Я думаю, что это лучше, чем пытаться точно определить, когда фреймворк сам вызовет finish
.