Как я могу остановить приоритетную службу клиента?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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