Я нашел хак, как это исправить.
Если вы используете appcompat, значок приведения будет виден только тогда, когда в вашей сети есть устройство Chromecast, в зависимости от вашей реализации onDeviceAvailable(...)
.
Однако если вы используете ABS, метод onDeviceAvailable(...)
не вызывается, когда устройство Chromecast доступно в сети. Итак, чтобы увидеть значок приведения, мы должны сделать его видимым всегда.
Таким образом, проблема в том, что значок приведения всегда виден (когда вы устанавливаете видимость для видимости или когда вы добавляете его на панель действий).
ОДНАКО: MediaRouter имеет разные состояния просмотра. Один, когда доступно устройство трансляции, и один, когда его нет.
Библиотека Mediarouter состоит из рисунков png, которые являются значками, когда устройство доступно или нет.
Просто замените тот, для которого «маршрут недоступен», пустым ресурсом или любым другим, подходящим для приложения.
Когда устройство доступно, отображается правильный значок приведения, а когда он недоступен, отображается ваш пользовательский ресурс (пустой, если ресурс является пустым представлением).
Вот подробная информация о том, как получить исходный код mediarouter и как это исправить: http://www.droidorbit.com/2013/10/mediarouter-and-actionbarsherlock.html
person
Prem
schedule
22.10.2013