onLoadChildren永远不会在MediaBrowserServiceCompat中调用

Jos*_*aul 5 android auto android-auto

我在我的应用程序中实现了MediaBrowserServiceCompat服务.

@Override
public BrowserRoot onGetRoot(@NonNull String s, int i, @Nullable Bundle bundle) {
    Log.e("testing","onGetRoot");
    return new BrowserRoot(MEDIA_ID_ROOT, null);
}
Run Code Online (Sandbox Code Playgroud)

MediaBrowserServiceCompat当我在手机中打开Android自动应用程序时,应用程序正在输入方法,但该方法onGetRoot永远不会被调用.所以我无法加载我的音乐文件夹.

Sta*_*lav 6

您必须调用服务的setSessionToken(...)重写方法。onCreate()


Rik*_*zen 1

天啊。MediaBrowser 客户端不应仅在 mediaBrowser 实例上调用 connect(),如 Google 示例中所述,网址为https://developer.android.com/guide/topics/media-apps/audio-app/building-a-mediabrowser-客户

但你必须实际调用 subscribe 才能触发 onLoadChildren() 的回调

该文档非常混乱,需要做大量令人费解的事情(数小时到数天)才能弄清楚如何启动并运行一个简单的 MediaBrowserService。:(