Перезагрузка приложения при выходе из свернутого режима

Всем привет.

Мне нужно, чтобы моя игра при возвращении из свернутого режима перезагружалась только если свернутой была не меньше часа. Сейчас - полчаса. Но этот функционал писала не я, и я не могу найти где выставлены эти полчаса. В коде, который происходит во время сворачивания - разворачивания, нет нигде упоминания о времени.

Трудность заключается в том, что я даже не понимаю, как бы сформулировать этот вопрос гуглу. Кучу инфы как отловить это событие, но про время - нет. Возможно, я не так пишу запрос, поэтому в ответ выдается какой-то мусор.

Возможно используется что-то наподобие: TimerTask ()

P. S.
Можно по коду поиском пройтись с запросом delay, и таким образом отследить все временные тайминги.

Я бы еще попробовал 30 * 60, 1800, если точно известно, что оно сейчас реализовано, а не какая-то фича по умолчанию в ОС.

Не-а, не точно. Может, и фича ОС. Просто в прошлом таске было написано полчаса, я проверила - реально полчаса висит без перезагрузки. В моем же таске написано час.

Боюсь, там слишком много кода с delay. Плюс еще, как обычно, тысяча сторонних библиотек, и совсем не понятно, что используется сейчас, а что уже не актуально.

Мне бы больше понять терминологию, чтоб поискать нормальным запросом. Как эта штука называется, когда приложение в Андроиде свернуто (неактивно? в фоновом режиме? спящее приложение?)? Или как называется процесс разворачивания?

Потому что название темы и “Андроид время перезагрузки неактивного приложения” дают какие-то неадекватные ответы. Про жизненный цикл я прочитала, но и там не написано, кто, собственно, перезагружает приложение: команда программиста или сам Андроид.

В общем, чего раскопала.
В АндроидМанифесте можно написать такую штуку:

 <activity android:name="com.unity3d.player.UnityPlayerActivity" 
      android:label="@string/app_name" 
      android:alwaysRetainTaskState="true">

И это будет значить, что игра не перезагрузится никогда. А потом в коде реализовать в MonoBehaviour.OnApplicationPause() подсчет времени и перезагрузку вручную. (Но это не точно, потому что мы решили с этим не заморачиваться и оставить как есть).

Если настройки alwaysRetainTaskState нет, то Андроид сам решает, когда перезагрузить приложение. Полагаю, по дефолту стоит полчаса, потому что через 20 минут приложение не перезагрузилось, а через 40 минут - перезагрузилось.

1 лайк