как сохранить мое приложение более 5 минут в фоновом режиме - android - PullRequest
0 голосов
/ 25 апреля 2020

Мой клиент утверждает, что после перевода приложения в фоновый режим на 2-3 минуты и просмотра других приложений, а затем возврата к моему приложению приложение не перезапускается с того места, где оно было оставлено.

Предположим, я Я нахожусь в середине экрана оформления заказа или оплаты, затем через некоторое время фокус переносится на домашнюю страницу.

Мне не нужно использовать Services, поэтому не страдайте от ограничений на новые версии

Может кто-нибудь предложить мне, что делать?

Редактировать 1: Я нашел PowerManager.WakeLock но я не знаю, если это безопасно или обрабатывать мой случай или нет

1 Ответ

0 голосов
/ 25 апреля 2020

Не устанавливайте блокировку пробуждения и не отключайте оптимизацию питания, фоновая активность все равно будет уничтожена.

Вам нужно просто сохранить состояние активности на паузе и заново создать его на onCreate.

См. Жизненный цикл процесса :

A Фоновая операция (операция, которая не видна пользователю и была остановлена) - нет более критично, поэтому система может безопасно завершить свой процесс, чтобы вернуть память другим приоритетным или видимым процессам. Если его процесс необходимо прервать, когда пользователь вернется к действию (снова делая его видимым на экране), его метод onCreate(Bundle) будет вызван с savedInstanceState, который он ранее предоставил в onSaveInstanceState(Bundle), чтобы он может перезапустить себя в том же состоянии, в котором он был оставлен пользователем в последний раз .

Это означает, что вам нужно сохранить все, что пользователи видят в вашем приложении - даже такие вещи, как уровень масштабирования, курсор и положение прокрутки и т. д. c.

Например, см. Как сохранить состояние активности с помощью сохранения состояния экземпляра?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...