Вызов onDestroy(), когда приложение заменяется последним экраном

Я пытался реализовать заставку в Android, добавив время, в течение которого должен отображаться заставка.

Всякий раз, когда я закрываю приложение, нажимая кнопку «Назад», оно уничтожает активность. Если снова открыть приложение с последнего экрана, оно показывает экран-заставку, но это приводит к плохому взаимодействию с пользователем (поскольку они раздражаются, видя экран-заставку снова и снова, он должен отображаться только тогда, когда пользователь пролистывает приложение из последний скрин).

Поэтому я подумал о добавлении методов onPause() и onStop() внутри метода onBackPressed(), но тогда приложение никогда не уничтожается (т.е. onDestroy никогда не вызывается).

Как решить эту проблему?


person androidGeek    schedule 25.08.2018    source источник


Ответы (1)


Вот кусок сюрприза:

Ни один из методов жизненного цикла активности не будет вызываться при удалении приложения

Смахивание приложения означает уничтожение процесса приложения, и, следовательно, оно мертво. Вот и все.

Только onStop() будет вызываться, когда мы нажимаем кнопку Recent App рядом с кнопкой Home.

Чтобы SplashScreen отображался только в первый раз, вы можете использовать общие настройки и сохранять данные, так как эти данные будут в вашем приложении, пока приложение не будет удалено.

Любые другие сомнения по этому поводу, пожалуйста, пишите в комментариях. Мы будем рады помочь.

person Ümañg ßürmån    schedule 25.08.2018
comment
как узнать, что свайп выполнен (т.е. процесс убит), есть ли способы? - person androidGeek; 25.08.2018
comment
К сожалению, нет никаких способов узнать, как приложение будет убито, и после его смерти ни одно из приложений не будет отвечать. - person Ümañg ßürmån; 25.08.2018