2014-10-20 2 views
8

Я хочу заменить класс android RemoteControlClient моего приложения на новый с помощью MediaSession, но не работает с уровнем API < 21, MediaSessionCompat, похоже, работает без сбоев старых устройств, но больше нет данных ARTWORK или песни на LockScreen. ...Как использовать MediaSessionCompat и поддерживать обратную совместимость с RemoteControlClient?

Любой фрагмент или информация для меня?

Спасибо всем!

ответ

11

В ревизии 22 библиотеки Опорно-v4, то source code for MediaSessionCompat показывает, что он теперь будет автоматически регистрировать и использовать RemoteControlClient в API 14-20 устройства перед переключением в MediaSession на API21 + устройств.

+5

Это кажется действительно противоречивым. В чем причина использования MediaSessionCompat? – tokudu

+6

Вместо того, чтобы защищать каждый вызов с помощью инструкции 'Build.VERSION.SDK_INT> = Build.VERSION_CODES.LOLLIPOP', вы можете использовать' MediaSessionCompat' напрямую. Альтернативы отсутствия поддержки MediaSession вообще (приводящие к субоптимальному опыту для того, что будет увеличиваться в процентах пользователей) или написанию кода с ошибкой (отсутствие только одного оператора if приведет к сбою вашего приложения) не являются устойчивыми методами кодирования , – ianhanniballake

+0

@ianhanniballake Спасибо, код в разработке! – anisite

Смежные вопросы