Как правильно остановить службу, работающую в качестве переднего плана?

Я пытаюсь остановить службу, которая работает как приоритетная служба.

Текущая проблема заключается в том, что, когда я звонюstopService() уведомление все еще остается.

Таким образом, в моем решении я добавил приемник, который я регистрирую внутриonCreate()

ВнутриonReceive() метод, который я вызываюstopforeground(true) и это скрывает уведомление. А потомstopself() остановить службу.

ВнутриonDestroy() Я зарегистрировал получателя.

Есть ли более правильный способ справиться с этим? потому что stopService () просто не работает.

@Override
public void onDestroy(){
  unregisterReceiver(receiver);
  super.onDestroy();
}

Ответы на вопрос(3)

Ваш ответ на вопрос