在MediaBrowserServiceCompat中永远不会调用onLoadChildren

时间:2018-12-14 12:09:48

标签: 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);
}

当我在手机中打开Android自动应用程序时,应用程序正在输入onGetRoot方法,但是方法onLoadChildren从未被调用。因此,我无法加载音乐文件夹。

2 个答案:

答案 0 :(得分:1)

哦,天哪。 MediaBrowser客户端不应该只是在https://developer.android.com/guide/topics/media-apps/audio-app/building-a-mediabrowser-client

的Google示例中提到的那样,在mediaBrowser实例上调用connect()

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

该文档太乱了,需要做很多令人费解的工作(数小时至数天),以弄清楚如何启动和运行简单的MediaBrowserService。 :(

答案 1 :(得分:0)

您必须使用服务的替代setSessionToken(...)方法调用onCreate()