Android Auto застрял в состоянии ошибки, как закрыть?

Я расширяю свое приложение для потоковой передачи звука для работы с Android Auto, я реализовал MediaBrowserService, и все работает хорошо. Если во время воспроизведения поток возвращает ошибку, я обновляю MediaSession соответствующим образом, передавая состояние PlaybackStateCompat.STATE_ERROR. В этом случае Android Auto показывает ошибку на экране, но я не вижу способа отклонить ошибку. Если я вернусь в меню своих приложений в Android Auto, я увижу, что он отправляет запросы на мой Service для сбора MediaItems, но сообщение об ошибке остается на экране.

Единственный способ восстановить — выйти из Android Auto, а затем снова открыть его, после чего ошибка исчезнет, ​​и MediaItems снова станут видны для просмотра и воспроизведения.

Нужно ли мне каким-то образом обновить MediaSession, чтобы удалить состояние ошибки, или должен быть способ отклонить сообщение об ошибке на экране?

Для справки, я использую приложение Android Auto на своем телефоне, чтобы проверить это.

Спасибо


person Michael J    schedule 15.01.2019    source источник


Ответы (1)


Да, вам нужно будет обновить сеанс мультимедиа с новым состоянием воспроизведения, чтобы отклонить ошибку вместо действия на экране. Медиа-сеанс отправляет/принимает всю связь с плеером, а плеер вызывается только из медиа-сеанса, который им управляет.

Вот пара ссылок по работе с состояниями ошибок:

Автоматическое воспроизведение аудио: обработка ошибок

Состояния и ошибки MediaSession

person salminnella    schedule 24.01.2019
comment
На самом деле это не сработало для меня, независимо от того, какое состояние я устанавливаю после состояния ошибки - это все равно только ошибка. Не уверен, что там происходит. - person ArieDov; 08.11.2019