Как я могу остановить приоритетную службу клиента?Android

Форум для тех, кто программирует под Android
Anonymous
Как я могу остановить приоритетную службу клиента?

Сообщение Anonymous »

Я не могу найти, как остановить службу переднего плана (и удалить уведомление) из основной активности. Я пытаюсь реализовать кнопку переключения изображения. Я могу запустить службу с помощью кнопки, но не могу ее остановить.

Код: Выделить всё

public void onClickImageButton(View view) {
// try stopping, otherwise start
Context context = getApplicationContext();
Intent intent = new Intent(context, SpeechRecognitionService.class);
if(context.stopService(intent)) {
ImageButton button = this.findViewById(R.id.imageButton);
button.setColorFilter(Color.argb(255, 60, 47, 47));
isBound = false;
} else {
intent = new Intent(context, SpeechRecognitionService.class);
context.startForegroundService(intent);
bindService(intent, connection, Context.BIND_AUTO_CREATE);
}
}

Код: Выделить всё

context.stopService(intent)
возвращает true при каждом нажатии кнопки после первого, и я подтверждаю, что служба все еще работает после попытки ее остановить.
В onStartCommand() моего класса службы< /code> Он возвращает START_STICKY. Я попробовал START_NOT_STICKY, но безрезультатно.

Подробнее здесь: https://stackoverflow.com/questions/786 ... the-client

Вернуться в «Android»