Service и/или Notification?

Ответить
Аватара пользователя
Andrés
Сообщения: 11
Зарегистрирован: 17 мар 2015, 11:28

Service и/или Notification?

Сообщение Andrés » 17 июн 2015, 21:21

Здравствуйте, подскажите пожалуйста как лучше реализовать следующее:
есть приложение которое по сути занимается отсчетом заранее заданного времени (что-то вроде таймера с несколькими режимами),
при "убийстве" приложения оно перезапускается (service-часть, без активити), по клику на иконку приложения - активити стартует
и отображает продолжающийся отсчет - т.е. в этой части все работает как требуется.

Проблема появляется если прикрутить уведомление (оно для отображения работы и состояния сервиса
и возврата в активити если надо) - если выйти из активити кнопкой "домой",
а потом вернутся кликом по уведомлению, то вместо возвращения к живому активити создается новое.
Если так сделать например 5 раз, то будет 6 активити (включая первое - "родительское") и при выходе из
6го активити кнопкой "назад" - это активити закрывается и перед нами оказывается 5ая копия активити,
ну и соответственно так далее, вплоть до 1го.

В общем сам вопрос: как сделать так что бы при выходе по кнопке "домой" и возврате через уведомление (флаги разные ставил - особо не влияет)
если активити еще живо то восстанавливалось старое, а не создавалось новое.
Возможно грабли растут из того что "service" часть как-то путает все карты и надо использовать что-то одно - или уведомления или сервис?

Аватара пользователя
Andrés
Сообщения: 11
Зарегистрирован: 17 мар 2015, 11:28

Re: Service и/или Notification?

Сообщение Andrés » 17 июн 2015, 22:55

Не знаю куда пропал ответ который дали, но помогло - спасибо.
Заодно еще один недочет вылез который до этого проявлялся, но не стабильно (часть операций необходимых при появлении
активити не выполнялась т.к. все было в onCreate, а при выходе по кнопке "Домой" и возврате назад onCreate не выполняется,
идет сразу onStart).

А решение было предложено сделать в манифесте android:launchMode="singleTop"
До этого пробовал singleInstance (где то здесь на форуме подглядел), но с ним работало не так как надо.

Аватара пользователя
Andrés
Сообщения: 11
Зарегистрирован: 17 мар 2015, 11:28

Re: Service и/или Notification?

Сообщение Andrés » 17 июн 2015, 23:05

И тогда в догонку еще вопрос/просьба помочь советом как лучше сделать с точки зрения расхода ресурсов (в первую очередь расхода батареи телефона):
когда активити нет у меня таймер замедляется (в "рабочем" состоянии 2 цикла в секунду, а в "замедленном" можно позволить тормознуть
до одного цикла за 10..30 даже возможно до 60 секунд) сделано это через Thread.sleep.
Насколько такой подход является кривым и возможно следует перенести это безобразие на alarmmanager?

ps Два цикла в секунду тоже висят на Sleep. Может это тоже не правильный подход?

Ответить