Java MediaBrowserService,从中获取onLoadChildren中的媒体文件

Java MediaBrowserService,从中获取onLoadChildren中的媒体文件,java,android,audio-player,mediabrowserservice,android-music-player,Java,Android,Audio Player,Mediabrowserservice,Android Music Player,我想做一个MediaBrowser服务。过去,当我想显示设备上所有的音乐文件时,我会使用ContentResolver并从MediaStore加载光标 我不知道在MediaBrowserService中我应该在哪里这样做 有一种方法:onLoadChildren 我发现的示例如下所示: @Override public void onLoadChildren( @NonNull final String parentMediaId, @NonNull fi

我想做一个MediaBrowser服务。过去,当我想显示设备上所有的音乐文件时,我会使用ContentResolver并从MediaStore加载光标

我不知道在MediaBrowserService中我应该在哪里这样做

有一种方法:onLoadChildren

我发现的示例如下所示:

    @Override
public void onLoadChildren(
        @NonNull final String parentMediaId,
        @NonNull final Result<List<MediaBrowserCompat.MediaItem>> result) {
    result.sendResult(MusicLibrary.getMediaItems());
}
@覆盖
公共儿童(
@非空的最终字符串parentMediaId,
@非空(最终结果){
sendResult(MusicLibrary.getMediaItems());
}
我的问题是,我是否在这个方法中使用ContentResolver游标来返回MediaItems列表?或者是否有其他内部方法可用于浏览设备并获取所有音乐文件?
我在网上看到的唯一例子是流媒体服务,它们通过HTTP调用获取歌曲列表,或者它们只是硬编码假歌曲以显示供测试。我正在尝试允许该服务浏览设备本身上的音乐文件。

我也尝试在我的应用程序中执行完全相同的操作,遇到了与您相同的问题。最后,我想出了如何使用Android的新功能。为了获取设备上的媒体项,您必须在服务端使用带有ContentResolver的游标,但是为了不只是在onLoadChildren()方法中返回子项而迭代游标的所有记录,我使用分页库在客户端/UI端只返回用户感兴趣的块。你可以在我写的一篇文章中读到,我还用代码示例演示了这个概念