![]() |
Модераторы: javastic |
![]() ![]() ![]() |
|
Selestin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Здравствуйте, у меня возникла проблема, не знаю как с ней разобраться.
Суть в следующем: Мне необходимо проверять статус заказа в том время, когда приложение свернуто. Я отслеживаю когда пользователь сворачивает приложение и стартую сервис. Во время старта сервиса я подцепляю к Intent экстра параметры, показывающие на каком щас экране находится пользователь, и какой был последний статус заказа, чтобы понимать когда издавать сигнал о его изменении и перекидывать на нужный экран. В такой связке все работает отлично, однако проблема возникает в то время, когда система убивает сервис. Сервис стартует как START_STICKY и пытается пересоздаться. В документации написано:
Тоесть при рестарте системы intent соотвественно обнуляется и я не могу адекватно сравнивать текущее состояние заказа изза этого, т.к. я не знаю какой был статус. Как обычно решают эту проблему? Спасибо. |
|||
|
||||
Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: нет Всего: 7 |
Думаю что хранить в базе данных информацию по заказами и их статусам было бы идеологически верно.
Все значимые данные на андроиде, должны сохраняться в "постоянные" хранилища. Ну если они не в работе коненчо. Потому как в любой момент приложение может быть прибито. Несмотря на некоторые соглашения. -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
Dapo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: 1 Всего: 1 |
START_REDELIVER_INTENT не пробовали? При пересоздании интент восстанавливается.
|
|||
|
||||
makis58 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 1.7.2013 Репутация: нет Всего: нет |
Пробывал
![]() |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Android | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |