Что ж, если вы изучите структуру того, как работает жизненный цикл приложения, здесь , то вы поймете, что onPause()
вызывается, когда другая деятельность получает фокус, и onStop()
вызывается, когда активность больше не видна.
Из того, что я узнал, вы можете вызывать finish()
только из активности, которая активна и / или имеет фокус.Если вы вызываете finish()
из метода onPause()
, это означает, что вы вызываете его, когда действие больше не активно.таким образом, генерируется исключение.
Когда вы звоните finish()
из onStop()
, то действие отправляется в фоновый режим, поэтому больше не будет видимо, тогда это исключение.
Когда вы нажимаете кнопку back
, вызывается onStop()
.
Скорее всего, Android автоматически сделает для вас то, что вы в данный момент хотите сделать.