2016-10-25 6 views

ответ

2

Жизненный цикл MediaBrowserService выглядит жизненный цикл простого Service которой он выступает. From documentation:

жизненный цикл MediaBrowserService контролируется, как она создается, число клиентов, которые имеют это к нему, а также вызовы , которые он получает из СМИ сессии обратных вызовов. Подводя итог:

  • Услуга создается, когда он запускается в ответ на кнопки медиа или когда активность связывается с ним (после соединения его с помощью MediaBrowser).
  • Сессия средств массовой информации onPlay() обратного вызова должна включать код, который вызывает startService(). Это гарантирует, что служба запустится и продолжит выполнение , даже если все действия UI MediaBrowser связаны с ней unbind.
  • Обратный вызов onStop() должен вызвать stopSelf(). Если служба была запущена, это останавливает ее. Кроме того, служба уничтожается, если не связаны с ней. В противном случае служба остается связанной , пока все ее действия не отвяжутся. (Если последующий StartService() вызов принимается до того, как услуга будет уничтожена, отложенный стоп отменен.)

Следующая блок-схема показывает, как жизненный цикл сервиса является удалось. Переменный счетчик отслеживает количество связанных клиентов: life cycle

onGetRoot и onLoadChildren, используемое для manage client connections.

Но для использования MediaBrowserService этого недостаточно, поэтому вы должны прочитать this documentation (следуйте вложенным ссылкам).

2

Взятые из MusicPlayer.java:

Этот класс обеспечивает MediaBrowser через службу. Он предоставляет библиотеку средств массовой информации для клиента просмотра, через onGetRoot и onLoadChildren методов

onGetRoot (..): Возвращает корневой идентификатор, если клиентский пакет имеет разрешения на доступ к информации в СМИ (Возвращает нулевое значение, если клиент не допускается). Source

onLoadChildren: Возвращает список дочерних элементов мультимедийного объекта. Source

Чтобы получить представление о реализации и проверки реализации в MusicPlayer.java