Как я могу использовать MediaBrowserService с виджетом?

Мой сервис расширяет класс MediaBrowserService и реагирует на определенные действия MediaController, такие как getMediaController().getTransportControls().onPlay(), Однако я не нашел способа "управлять" своим сервисом из виджета, потому что класс MediaController из него недоступен. Как я могу общаться с моим сервисом?

1 ответ

Решение

Рекомендуемый подход заключается в использовании MediaButtonReceiver, который будет перенаправлять команды на ваш MediaBrowserServiceгде вы можете обработать их, добавив вызов MediaButtonReceiver.handleIntent() в onStartCommand согласно документации.

Вы можете использовать buildMediaButtonPendingIntent() для создания PendingIntent для различных мультимедийных кнопок (таких как воспроизведение, пауза и т. д.), которые затем можно установить на кнопки виджета с помощью setOnClickPendingIntent()

Другие вопросы по тегам