Я должен убедиться, что мой Service
будет работать, пока я явно не вызову stopService()
. поэтому я должен вернуть из onStartCommand()
флаг START_STICKY
.
также я хочу, чтобы в случае, если моя служба будет уничтожена системой из-за нехватки памяти, когда система будет ее воссоздавать, onStartCommand() будет вызываться с тем же намерением, что изначально запустил службу. потому что по этой причине я хотел бы использовать флаг START_FLAG_REDELIVERY
. то, что я описал, наверняка может произойти (и действительно произошло со мной) в соответствии с документацией - http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle
Я знаю, что могу запустить службу с startForground()
, что не позволяет службе быть кандидатом на уничтожение системой при нехватке памяти, но я предпочитаю не использовать этот подход, и в любом случае - согласно документации: система все еще может его убить при крайне низкой нагрузке на память.
так что было бы идеально, если бы я мог вернуться из onStartCommand()
START_STICKY|START_FLAG_REDELIVERY
но по документации вроде можно использовать только один из флагов (может я ошибаюсь??).
так можно ли как-то запустить сервис, который будет работать так, как я описал?