Most visited

Recently visited

MediaBrowserServiceCompat

public abstract class MediaBrowserServiceCompat
extends Service

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.app.Service
         ↳ android.support.v4.media.MediaBrowserServiceCompat


媒体浏览服务的基类。

媒体浏览服务使应用程序能够浏览应用程序提供的媒体内容,并要求应用程序开始播放。 它们也可能用于控制已经通过MediaSessionCompat播放的内容。

To extend this class, you must declare the service in your manifest file with an intent filter with the SERVICE_INTERFACE action. For example:

 <service android:name=".MyMediaBrowserServiceCompat"
          android:label="@string/service_name" >
     <intent-filter>
         <action android:name="android.media.browse.MediaBrowserService" />
     </intent-filter>
 </service>
 

Summary

Nested classes

class MediaBrowserServiceCompat.BrowserRoot

包含浏览器服务首次连接时需要发送给客户端的信息。

class MediaBrowserServiceCompat.Result<T>

用于异步回调方法的完成处理程序MediaBrowserServiceCompat

Constants

String SERVICE_INTERFACE

Intent必须声明为由服务处理。

Inherited constants

From class android.app.Service
From class android.content.Context
From interface android.content.ComponentCallbacks2

Public constructors

MediaBrowserServiceCompat()

Public methods

void dump(FileDescriptor fd, PrintWriter writer, String[] args)

将服务的状态打印到给定的流中。

final Bundle getBrowserRootHints()

获取当前连接的 MediaBrowserCompat发送的根提示。

MediaSessionCompat.Token getSessionToken()

获取会话标记,如果尚未创建或已销毁它,则为null。

void notifyChildrenChanged(String parentId, Bundle options)

通知所有连接的媒体浏览器,指定的父ID的子项以某种方式发生了变化。

void notifyChildrenChanged(String parentId)

通知所有连接的媒体浏览器,指定的父ID的子项以某种方式发生了变化。

IBinder onBind(Intent intent)

将通信信道返回给服务。

void onCreate()

服务第一次创建时由系统调用。

abstract MediaBrowserServiceCompat.BrowserRoot onGetRoot(String clientPackageName, int clientUid, Bundle rootHints)

调用以获取特定客户端浏览的根信息。

abstract void onLoadChildren(String parentId, Result<List<MediaBrowserCompat.MediaItem>> result)

打电话来获取有关媒体项目的孩子的信息。

void onLoadChildren(String parentId, Result<List<MediaBrowserCompat.MediaItem>> result, Bundle options)

打电话来获取有关媒体项目的孩子的信息。

void onLoadItem(String itemId, Result<MediaBrowserCompat.MediaItem> result)

打电话获取有关特定媒体项目的信息。

void setSessionToken(MediaSessionCompat.Token token)

呼叫设置媒体会话。

Inherited methods

From class android.app.Service
From class android.content.ContextWrapper
From class android.content.Context
From class java.lang.Object
From interface android.content.ComponentCallbacks2
From interface android.content.ComponentCallbacks

Constants

SERVICE_INTERFACE

String SERVICE_INTERFACE

Intent必须声明为由服务处理。

常量值:“android.media.browse.MediaBrowserService”

Public constructors

MediaBrowserServiceCompat

MediaBrowserServiceCompat ()

Public methods

dump

void dump (FileDescriptor fd, 
                PrintWriter writer, 
                String[] args)

将服务的状态打印到给定的流中。 如果您运行“adb shell dumpsys activity service <yourservicename>”(注意,要使此命令生效,服务必须正在运行,并且您必须指定完全限定的服务名称),则会调用此命令。 这与“dumpsys <servicename>”不同,后者仅适用于命名系统服务,并且在向ServiceManager注册的IBinder接口上调用dump(FileDescriptor, String[])方法。

Parameters
fd FileDescriptor: The raw file descriptor that the dump is being sent to.
writer PrintWriter: The PrintWriter to which you should dump your state. This will be closed for you after you return.
args String: additional arguments to the dump request.

getBrowserRootHints

Bundle getBrowserRootHints ()

获取当前连接的MediaBrowserCompat发送的根提示。 根连接提示是在连接并检索用于浏览的根ID时发送到媒体浏览器服务的可选包中包含的特定于服务的参数,如果不包含,则返回null。 此包的内容可能会影响浏览时返回的信息。

请注意,当连接到 MediaBrowser并在API 23或更低版本上运行时,它将返回null。

Returns
Bundle
Throws
IllegalStateException If this method is called outside of onLoadChildren(String, MediaBrowserServiceCompat.Result >) or onLoadItem(String, MediaBrowserServiceCompat.Result )

也可以看看:

getSessionToken

MediaSessionCompat.Token getSessionToken ()

获取会话标记,如果尚未创建或已销毁它,则为null。

Returns
MediaSessionCompat.Token

notifyChildrenChanged

void notifyChildrenChanged (String parentId, 
                Bundle options)

通知所有连接的媒体浏览器,指定的父ID的子项以某种方式发生了变化。 这将导致浏览器再次获取订阅的内容。

Parameters
parentId String: The id of the parent media item whose children changed.
options Bundle: A bundle of service-specific arguments to send to the media browse. The contents of this bundle may contain the information about the change.

notifyChildrenChanged

void notifyChildrenChanged (String parentId)

通知所有连接的媒体浏览器,指定的父ID的子项以某种方式发生了变化。 这将导致浏览器再次获取订阅的内容。

Parameters
parentId String: The id of the parent media item whose children changed.

onBind

IBinder onBind (Intent intent)

将通信信道返回给服务。 如果客户端无法绑定到服务,可能会返回null。 返回IBinder通常是一个复杂的界面已经described using aidl

请注意,与其他应用程序组件不同,此处返回的IBinder接口调用可能不会发生在进程的主线程上 有关主线程的更多信息可以在Processes and Threads中找到。

Parameters
intent Intent: The Intent that was used to bind to this service, as given to Context.bindService. Note that any extras that were included with the Intent at that point will not be seen here.
Returns
IBinder Return an IBinder through which clients can call on to the service.

onCreate

void onCreate ()

服务第一次创建时由系统调用。 不要直接调用这个方法。

onGetRoot

MediaBrowserServiceCompat.BrowserRoot onGetRoot (String clientPackageName, 
                int clientUid, 
                Bundle rootHints)

调用以获取特定客户端浏览的根信息。

实施应验证客户端软件包是否有权访问浏览媒体信息,然后才能返回根ID; 如果客户端不被允许访问这些信息,它应该返回null。

Parameters
clientPackageName String: The package name of the application which is requesting access to browse media.
clientUid int: The uid of the application which is requesting access to browse media.
rootHints Bundle: An optional bundle of service-specific arguments to send to the media browse service when connecting and retrieving the root id for browsing, or null if none. The contents of this bundle may affect the information returned when browsing.
Returns
MediaBrowserServiceCompat.BrowserRoot The MediaBrowserServiceCompat.BrowserRoot for accessing this app's content or null.

也可以看看:

onLoadChildren

void onLoadChildren (String parentId, 
                Result<List<MediaBrowserCompat.MediaItem>> result)

打电话来获取有关媒体项目的孩子的信息。

实现必须调用result.sendResult与孩子的名单。 如果加载孩子将是一个昂贵的操作,应该在另一个线程上执行, result.detach可以在从此函数返回之前调用result.sendResult ,然后在加载完成时调用result.sendResult

Parameters
parentId String: The id of the parent media item whose children are to be queried.
result Result: The Result to send the list of children to, or null if the id is invalid.

onLoadChildren

void onLoadChildren (String parentId, 
                Result<List<MediaBrowserCompat.MediaItem>> result, 
                Bundle options)

打电话来获取有关媒体项目的孩子的信息。

实现必须调用result.sendResult与儿童列表。 如果加载孩子将是一个昂贵的操作,应该在另一个线程上执行, result.detach可能会在从此函数返回之前调用result.sendResult ,然后在加载完成时调用result.sendResult

Parameters
parentId String: The id of the parent media item whose children are to be queried.
result Result: The Result to send the list of children to, or null if the id is invalid.
options Bundle: A bundle of service-specific arguments sent from the media browse. The information returned through the result should be affected by the contents of this bundle.

onLoadItem

void onLoadItem (String itemId, 
                Result<MediaBrowserCompat.MediaItem> result)

打电话获取有关特定媒体项目的信息。

实现必须调用result.sendResult 如果加载该项目将是一个昂贵的操作, result.detach可以在从此函数返回之前调用result.sendResult ,然后在加载该项目时调用result.sendResult

默认实现发送一个空结果。

Parameters
itemId String: The id for the specific MediaBrowserCompat.MediaItem.
result Result: The Result to send the item to, or null if the id is invalid.

setSessionToken

void setSessionToken (MediaSessionCompat.Token token)

呼叫设置媒体会话。

这应该在服务启动期间尽快调用。 它只能被调用一次。

Parameters
token MediaSessionCompat.Token: The token for the service's MediaSessionCompat.

Hooray!