всё работает отлично. При нажатии на одну из кнопок в уведомлении необходимо закрыть это уведомление и прекратить работу сервиса, поэтому в коде вызывается
stopForeground(true);
stopSelf();
Однако тут приложение крашится с ошибкой
RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground()
Почему такое может быть? Ведь я вызвал stopForeground?
Замечание. Если убрать строчку stopSelf(), то приложение не крашится, однако сервис продолжает ненужную работу.
Спасибо
У сервиса надо вызвать startForeground в onStartCommand
Может кому поможет. В общем проблема решилась, когда я стал вызывать остановку сервиса из метода onStartCommand(). Т.е. я раньше вызывал stopForeground() и stopSelf() из коллбека, который мне давала библиотека exoPlayer, а теперь из коллбека я создаю интент для сервиса с экшном на остановку фоновой работы, далее в onStartCommand уже останавливаю foreground если пришёл соответствующий action. Такая вот магия:/
Обсуждают сегодня