2017-02-21 7 views
1

Я создаю приложение, которое можно использовать для устройств Chromecast и AppleTV. Обнаружение этих устройств работает: ChromeCasts обнаруживаются с использованием MediaRouter, и AppleTVs обнаруживаются с использованием SSDP. На данный момент у меня есть обычная кнопка, которая отображает комбинированный список обнаруженных устройств, но я бы хотел, чтобы она использовала приманку.Расширить поведение MediaRouteButton

Есть ли элегантный способ расширить MediaRouteButton, чтобы отобразить мой собственный список обнаруженных устройств, или я должен просто создать собственную кнопку с нуля с помощью литых чертежей?

Я знаю, что класс MediaRouteButton может быть расширен, но я не уверен, как применить мою расширенную кнопку к кнопке, объявленной через xml. Я чувствую, что я пропустил что-то болезненное, но я еще не нашел его.

ответ

2

Вы должны быть в состоянии сделать это, используя MediaRouteProvider APIs. В Cast SDK добавлен провайдер трассировки Cast Media, и вы можете создать своего собственного провайдера для любого типа устройств, которые вас интересуют (есть андроид sample, который показывает это, но я не уверен, насколько он был последним сохранился). Если вы хотите использовать CastSDK (v3) для обработки соединений и установления сеансов для обоих типов устройств (те, которые были обнаружены самим Cast Cast и теми, которые вы открываете через своего собственного провайдера), вам следует использовать SessionProvider для Cast SDK. Есть сообщения (например, this), которые спрашивают о расширении Session и SessionProviders в Cast SDK v3.

+0

Спасибо, я рассмотрю это. –

+0

Решение отсутствует в упомянутом сообщении ..... – ingsaurabh