因此,正如问题所说:我正在try 使用Media3在Android Auto上进行分页,但文档似乎要么缺乏,要么我找不到.

我目前有一个MediaService,它是MediaLibraryService的延伸

class MediaService : MediaLibraryService() {
    // extra code here 

    override fun onGetLibraryRoot(
        session: MediaLibrarySession, 
        browser: ControllerInfo, 
        params: LibraryParams?
    ): ListenableFuture<LibraryResult<MediaItem>> {
        // get root here
    }

    override fun onGetItem(
        session: MediaLibrarySession,
        browser: ControllerInfo,
        mediaId: String
    ): ListenableFuture<LibraryResult<MediaItem>> {
        // get item with id
    }

    override fun onGetChildren(
        session: MediaLibrarySession,
        browser: ControllerInfo,
        parentId: String,
        page: Int,
        pageSize: Int,
        params: LibraryParams?
    ): ListenableFuture<LibraryResult<ImmutableList<MediaItem>>> {
        // get children of item with id
    }


    // extra code here
}

分页应该在onGetChildren中使用pagepageSize来实现,但它们始终是0Int.MAX_VALUE.你如何告诉Android Auto,它必须要求不同的值,或者它需要分页?

推荐答案

在对Android Auto issue tracker进行了更多的研究后,在询问了Media3 Github issue tracker的一些问题后,我发现由于司机分心指南,Android Auto不支持自定义分页,我认为可以在here中找到.

因此,根据Android Auto问题跟踪器上的 comments ,返回的项目数量必须受到限制,因为Android Auto不会向Media3发送分页信息.这意味着对于Android Auto,onGetChildrenpagepageSize参数可以忽略.

Android相关问答推荐

如何自定义所选的NavigationBar项目?

以正确的方式从房间收集流量

无法理解Kotlin Coroutines and Flows中的J.C.编程行为

Android开发:主题排版不适用于按钮文本

Android 14(Oneui 6)中的本地推送通知行为不一致

NativeScript在`ns run android`上重复Kotlin类

FireBase Android ChildEventListener在被规则拒绝时触发(RTDB)

如何共享没有';t是否存在?(仅信息)在Android?

如何正确创建可拖动的浮动视图?

有没有办法让协程通道在接收时遵循特定的顺序而不是先进先出

如何知道我的应用程序的新版本是否显示广告?

用作输入参数的 Lambda 函数导致重组

未解决的参考:pagerTabIndicatorOffset

Android工作室未成立

在 Jetpack Compose 中包装内容

PayUCheckoutPro Android SDK 实现问题

删除一对多关系室 Kotlin 中的所有值

Unity:Android 上随机接近零的 FPS 下降(提供了很多线索)

如何获取 Android Preferences DataStore 的所有键

Android Jetpack Compose:如何让文本利用完整的行空间并将单词换行以防溢出?