Как я могу использовать MediaBrowserService с виджетом?
Мой сервис расширяет класс MediaBrowserService и реагирует на определенные действия MediaController, такие как getMediaController().getTransportControls().onPlay()
, Однако я не нашел способа "управлять" своим сервисом из виджета, потому что класс MediaController из него недоступен. Как я могу общаться с моим сервисом?
1 ответ
Рекомендуемый подход заключается в использовании MediaButtonReceiver, который будет перенаправлять команды на ваш MediaBrowserService
где вы можете обработать их, добавив вызов MediaButtonReceiver.handleIntent() в onStartCommand
согласно документации.
Вы можете использовать buildMediaButtonPendingIntent() для создания PendingIntent
для различных мультимедийных кнопок (таких как воспроизведение, пауза и т. д.), которые затем можно установить на кнопки виджета с помощью setOnClickPendingIntent()