Выбор элемента мультимедиа в Android Auto Queue ничего не делает

Я добавляю в свое приложение поддержку воспроизведения на Android Auto. Я успешно создал свою службу, которая расширяет MediaBrowserServiceCompat, и все работает нормально. В Android Auto я могу щелкнуть MediaItem для воспроизведения, и начнется воспроизведение. На экране «сейчас играет», если я затем нажму кнопку плейлиста/очереди, я увижу следующие журналы:

D/GH.UnCfbMediaActivity: openQueue
D/GH.MediaModel: unsubscribe mediaId=QUEUE_ROOT
D/GH.UnCfbMediaActivity: subscribeCFAdapterToQueue
D/GH.MediaModel: subscribe mediaId=QUEUE_ROOT
unsubscribe mediaId=QUEUE_ROOT
D/GH.VnActivity: disableInteraction
D/GH.MediaModel: Loaded 10 children for QUEUE_ROOT.

Отображается текущая очередь (с 10 медиаэлементами, которые я ожидаю увидеть), и я нажимаю на медиаэлемент в очереди, Android Auto возвращается к экрану «сейчас воспроизводится», но не воспроизводит медиаэлемент, который я выбрал в очереди. Я ожидал увидеть еще один вызов метода onPlayFromMediaId() в моей службе, но никакого обратного вызова не было. Это означает, что я не могу изменить воспроизводимую песню, выбрав элемент в очереди.

Я явно что-то упускаю, но не могу понять. Вся помощь приветствуется.

Спасибо!


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


Ответы (1)


Ответ найден! MediaSessionCompat.Callback имеет метод onSkipToQueueItem(long id), который вызывается после выбора MediaItem в текущей очереди. Переопределите этот метод, и вы будете уведомлены при выборе элемента очереди.

person Michael J    schedule 18.12.2018