Я хотел создать собственный канал событий для обнаружения отключения гарнитуры в моем радио-приложении: https://github.com/Mighty683/radio-anime-24-app/commit/1624a139bb7d2f0f19df32a032f4385ba1df334c
Он работает, но только если я запускаю код, например, сборку виджета состояния:
Stream headPhonesStateStream = EventChannel('com.radioanime24.dev/headphones').receiveBroadcastStream();
headPhonesStateStream.listen((event) {
if (event == 'HEADPHONES_UNPLUGGED') {
if (AudioService.playbackState.playing) {
AudioService.pause();
}
}
});
Но если я попытаюсь запустить его в BackgroundAudioTask
из audio_service
пакета, например, в функции onStart
, я получаю сообщение об ошибке: MissingPluginException(No implementation found for method listen on channel com.radioanime24.dev/headphones)
Могу ли я как-то использовать пользовательские события внутри BackgroundAudioTask
или мне нужно найти другое решение?