Служба Android останавливается после обновления приложения

Я запускаю службу с регулярным интервалом времени 10 секунд. Он работает нормально, но когда я обновляю приложение в магазине Google Play, после этого служба не запускается, пока я не перезагружу свой телефон.

Что может быть возможной причиной


person Robbin Singh    schedule 04.10.2015    source источник
comment
Это совершенно естественно. Когда приложение обновляется, оно сначала закрывается (и на короткое время удаляется), поэтому действия и службы уничтожаются. Вы должны подумать о способе перезапуска службы при каждом условии, если это действительно необходимо. В противном случае он будет запущен при запуске приложения (если вы явно вызываете его из основного действия).   -  person Joaquin Iurchuk    schedule 04.10.2015
comment
Мой сервис используется для синхронизации данных. Что, если кто-то обновит приложение и никогда не откроет его. Тогда сервис никогда не будет запущен, и пользователь никогда не получит новые данные. Есть ли способ запустить службу после обновления приложения.   -  person Robbin Singh    schedule 04.10.2015
comment
Да, конечно. Вы должны поймать некоторые из широковещательных передач, отправленных ОС. Например, это может быть изменение сети. В этом случае, когда сеть меняется, вы реагируете на трансляцию, снова запуская свой сервис. Насколько я знаю, официального способа сделать это нет, потому что Android не считает, что что-то должно когда-либо работать. Но предлагаемый обходной путь — использовать некоторые трансляции (таким образом, новые разрешения).   -  person Joaquin Iurchuk    schedule 04.10.2015


Ответы (1)


вы можете получить широковещательное событие ACTION_MY_PACKAGE_REPLACED, а затем перезапустить службу.

person mx1up    schedule 20.11.2015
comment
пожалуйста, отметьте мое решение как ответ или укажите, что неясно в моем ответе - person mx1up; 22.06.2016