在创建android Auto媒体应用程序MusicService类时,它会创建扩展MediaBrowserService的类,并通过onGetRoot和onLoadChildren自动实现这两种方法。
谁能详细解释每件事的运作方式。

最佳答案

MediaBrowserService的生命周期看起来像它扩展的简单Service的生命周期。
From documentation:


  MediaBrowserService的生命周期由它的方式控制
  创建,拥有的客户端数量以及调用
  它从媒体会话回调中接收。总结一下:
  
  
  在响应媒体按钮启动服务或将活动绑定到服务时(通过服务连接后)
  MediaBrowser)。
  媒体会话onPlay()回调应包含调用startService()的代码。这样可以确保服务启动并继续
  运行,即使绑定到它的所有UI MediaBrowser活动也是如此
  解除绑定。
  onStop()回调应调用stopSelf()。如果服务已启动,则将其停止。此外,如果存在,服务将被销毁
  没有与之相关的活动。否则,服务将保持绑定
  直到所有活动解除绑定。 (如果随后的startService()调用
  在服务销毁之前收到,挂起的停止是
  取消。)
  
  
  以下流程图演示了服务的生命周期如何
  管理。可变计数器跟踪绑定客户端的数量:
  android - 我正在开发Android Auto Media App,但无法了解MediaBrowserService的生命周期-LMLPHP


onGetRootonLoadChildren曾经用于manage client connections

但是要使用MediaBrowserService还不够,因此您应该阅读this documentation(遵循嵌套链接)。

08-17 01:17