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