В моем приложении у меня есть уведомление в панели задач, и при нажатии открывается новое представление Activity моей программы. Однако, когда я пытаюсь использовать кнопку остановки, чтобы остановить мой сервис из этого представления, ничего не происходит. Я предполагаю, когда я нажимаю кнопку уведомления, чтобы она не поддерживала мою активность, связанную с сервисом.
Когда мое приложение открывается первым, служба запускается с использованием Intent ниже:
Intent svc = new Intent(this, StreamService.class);
startService(svc);
Затем в сервисе:
//Intent passed when notification is selected.
Intent notificationIntent = new Intent(this, HomeActivity.class);
Любая идея, как связаться со своим текущим сервисом? Или, возможно, вернуть исходное действие/просмотр на передний план при выборе уведомления?
Цель, которую вы можете приложить к уведомлению, должна иметь намерение службы с конкретным действием. В вашем сервисе onStart метод, вы можете проверить его на близкое действие, а затем вы можете вызвать stopSelf().
Если действие, которое вы открываете из уведомления, является частью того же приложения, что и служба, то оно может остановить службу. Попробуй использовать:
Intent svc = new Intent(this, StreamService.class);
stopService(svc);