Android - Zablokuj odbiornik radiowy za pomocą usługi

Zbudowałem aplikację, która implementuje wiele odbiorników i rejestruje je w ramach usługi na podstawie ustawień użytkownika. Usługa jest związana z działaniem, które wywołuje niektóre z jej metod. Gdy wywoływany jest odbiornik, uruchamia usługę (lub wywołuje start usługi, jeśli już działa) i przekazuje jej ciąg informujący serwis, co ma robić. Mój problem polega na tym, że aktywność zostaje zniszczona (przycisk Wstecz) usługa jest również niszczona, co z kolei zabija odbiorników transmisji.

Wiem, że mogę zarejestrować odbiorniki w manifeście, co oznaczałoby wykonanie sprawdzenia, gdy zostaną wywołani, aby sprawdzić, czy użytkownik wybrał tę opcję. Jednak jednym z krytycznych dla aplikacji odbiorników jest „android.intent.action.HEADSET_PLUG”, który można zarejestrować tylko programowo.

Sądzę więc, że moje pytanie brzmi: czy istnieje sposób, aby utrzymać ten odbiornik w stanie aktywnym, gdy usługa zostanie zniszczona? Jeśli nie, czy ktoś może zobaczyć obejście tego problemu?

Dzięki, Rob

questionAnswers(1)

yourAnswerToTheQuestion