У меня работает общий c Android эмулятор автомобильной ОС. Я создал образец автомобильного приложения, которое должно отображать 6 песен в основном просматриваемом root. Фрагмент кода в моем MediaBrowserService
:
override fun onLoadChildren(parentId: String, result: Result<MutableList<MediaItem>>) {
val mediaList = ArrayList<MediaItem>()
if (parentId == "root") {
AUTO_SOURCES.forEach { mediaList.add(buildMediaItem(it.sourceId, it.sourceName)) }
}
result.sendResult(mediaList)
}
private fun buildMediaItem(mediaId: String, title: String): MediaItem {
val desc = MediaDescriptionCompat.Builder()
.setMediaId(mediaId)
.setTitle(title)
.setIconUri(mediaId.asAlbumArtContentUri())
.build()
return MediaItem(desc, MediaItem.FLAG_PLAYABLE)
}
Я вижу, что вызывается onLoadChildren
и соответствующий sendResult
, однако воспроизводимые медиа-элементы никогда не отображаются. Если я изменю их на MediaItem.FLAG_BROWSABLE
, они будут отображаться правильно. Есть идеи, что я делаю не так?