belongs to Maven artifact com.android.support:mediarouter-v7:28.0.0-alpha1
MediaRouteProvider
  public
  
  
  abstract
  class
  MediaRouteProvider
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.support.v7.media.MediaRouteProvider | 
Media route providers are used to publish additional media routes for use within an application. Media route providers may also be declared as a service to publish additional media routes to all applications in the system.
 The purpose of a media route provider is to discover media routes that satisfy
 the criteria specified by the current MediaRouteDiscoveryRequest and publish a
 MediaRouteProviderDescriptor with information about each route by calling
 setDescriptor(MediaRouteProviderDescriptor) to notify the currently registered MediaRouteProvider.Callback.
 
 The provider should watch for changes to the discovery request by implementing
 onDiscoveryRequestChanged(MediaRouteDiscoveryRequest) and updating the set of routes that it is
 attempting to discover.  It should also handle route control requests such
 as volume changes or media control intents
 by implementing onCreateRouteController(String) to return a MediaRouteProvider.RouteController
 for a particular route.
 
 A media route provider may be used privately within the scope of a single
 application process by calling MediaRouter.addProvider
 to add it to the local MediaRouter.  A media route provider may also be made
 available globally to all applications by registering a MediaRouteProviderService
 in the provider's manifest.  When the media route provider is registered
 as a service, all applications that use the media router API will be able to
 discover and used the provider's routes without having to install anything else.
 
This object must only be accessed on the main thread.
Summary
| Nested classes | |
|---|---|
| 
        
        
        
        
        class | MediaRouteProvider.CallbackCallback which is invoked when route information becomes available or changes. | 
| 
        
        
        
        
        class | MediaRouteProvider.ProviderMetadataDescribes properties of the route provider's implementation. | 
| 
        
        
        
        
        class | MediaRouteProvider.RouteControllerProvides control over a particular route. | 
| Public constructors | |
|---|---|
| 
      MediaRouteProvider(Context context)
      Creates a media route provider. | |
| Public methods | |
|---|---|
| 
        
        
        
        final
        
        Context | 
      getContext()
      Gets the context of the media route provider. | 
| 
        
        
        
        final
        
        MediaRouteProviderDescriptor | 
      getDescriptor()
      Gets the provider's descriptor. | 
| 
        
        
        
        final
        
        MediaRouteDiscoveryRequest | 
      getDiscoveryRequest()
      Gets the current discovery request which informs the provider about the kinds of routes to discover and whether to perform active scanning. | 
| 
        
        
        
        final
        
        Handler | 
      getHandler()
      Gets the provider's handler which is associated with the main thread. | 
| 
        
        
        
        final
        
        MediaRouteProvider.ProviderMetadata | 
      getMetadata()
      Gets some metadata about the provider's implementation. | 
| 
        
        
        
        
        
        MediaRouteProvider.RouteController | 
      onCreateRouteController(String routeId)
      Called by the media router to obtain a route controller for a particular route. | 
| 
        
        
        
        
        
        void | 
      onDiscoveryRequestChanged(MediaRouteDiscoveryRequest request)
      Called by the media router when the  | 
| 
        
        
        
        final
        
        void | 
      setCallback(MediaRouteProvider.Callback callback)
      Sets a callback to invoke when the provider's descriptor changes. | 
| 
        
        
        
        final
        
        void | 
      setDescriptor(MediaRouteProviderDescriptor descriptor)
      Sets the provider's descriptor. | 
| 
        
        
        
        final
        
        void | 
      setDiscoveryRequest(MediaRouteDiscoveryRequest request)
      Sets a discovery request to inform the provider about the kinds of routes that its clients would like to discover and whether to perform active scanning. | 
| Inherited methods | |
|---|---|
|  From
class 
  
    java.lang.Object
  
 | |
Public constructors
MediaRouteProvider
MediaRouteProvider (Context context)
Creates a media route provider.
| Parameters | |
|---|---|
| context | Context: The context. | 
Public methods
getContext
Context getContext ()
Gets the context of the media route provider.
| Returns | |
|---|---|
| Context | |
getDescriptor
MediaRouteProviderDescriptor getDescriptor ()
Gets the provider's descriptor.
 The descriptor describes the state of the media route provider and
 the routes that it publishes.  Watch for changes to the descriptor
 by registering a callback with setCallback(MediaRouteProvider.Callback).
 
| Returns | |
|---|---|
| MediaRouteProviderDescriptor | The media route provider descriptor, or null if none. | 
getDiscoveryRequest
MediaRouteDiscoveryRequest getDiscoveryRequest ()
Gets the current discovery request which informs the provider about the kinds of routes to discover and whether to perform active scanning.
| Returns | |
|---|---|
| MediaRouteDiscoveryRequest | The current discovery request, or null if no discovery is needed at this time. | 
getHandler
Handler getHandler ()
Gets the provider's handler which is associated with the main thread.
| Returns | |
|---|---|
| Handler | |
getMetadata
MediaRouteProvider.ProviderMetadata getMetadata ()
Gets some metadata about the provider's implementation.
| Returns | |
|---|---|
| MediaRouteProvider.ProviderMetadata | |
onCreateRouteController
MediaRouteProvider.RouteController onCreateRouteController (String routeId)
Called by the media router to obtain a route controller for a particular route.
 The media router will invoke the onRelease() method of the route
 controller when it is no longer needed to allow it to free its resources.
 
| Parameters | |
|---|---|
| routeId | String: The unique id of the route. | 
| Returns | |
|---|---|
| MediaRouteProvider.RouteController | The route controller. Returns null if there is no such route or if the route cannot be controlled using the route controller interface. | 
onDiscoveryRequestChanged
void onDiscoveryRequestChanged (MediaRouteDiscoveryRequest request)
Called by the media router when the discovery request
 has changed.
 
 Whenever an applications calls addCallback(MediaRouteSelector, MediaRouter.Callback) to register
 a callback, it also provides a selector to specify the kinds of routes that
 it is interested in.  The media router combines all of these selectors together
 to generate a MediaRouteDiscoveryRequest and notifies each provider when a change
 occurs by calling setDiscoveryRequest(MediaRouteDiscoveryRequest) which posts a message to invoke
 this method asynchronously.
 
 The provider should examine the media control categories
 in the discovery request's selector to determine what
 kinds of routes it should try to discover and whether it should perform active
 or passive scans.  In many cases, the provider may be able to save power by
 determining that the selector does not contain any categories that it supports
 and it can therefore avoid performing any scans at all.
 
| Parameters | |
|---|---|
| request | MediaRouteDiscoveryRequest: The new discovery request, or null if no discovery is needed at this time. | 
setCallback
void setCallback (MediaRouteProvider.Callback callback)
Sets a callback to invoke when the provider's descriptor changes.
| Parameters | |
|---|---|
| callback | MediaRouteProvider.Callback: The callback to use, or null if none. | 
setDescriptor
void setDescriptor (MediaRouteProviderDescriptor descriptor)
Sets the provider's descriptor.
 The provider must call this method to notify the currently registered
 callback about the change to the provider's descriptor.
 
| Parameters | |
|---|---|
| descriptor | MediaRouteProviderDescriptor: The updated route provider descriptor, or null if none. | 
setDiscoveryRequest
void setDiscoveryRequest (MediaRouteDiscoveryRequest request)
Sets a discovery request to inform the provider about the kinds of routes that its clients would like to discover and whether to perform active scanning.
| Parameters | |
|---|---|
| request | MediaRouteDiscoveryRequest: The discovery request, or null if no discovery is needed at this time. | 
- Interfaces
- Classes- MediaControlIntent
- MediaItemMetadata
- MediaItemStatus
- MediaItemStatus.Builder
- MediaRouteDescriptor
- MediaRouteDescriptor.Builder
- MediaRouteDiscoveryRequest
- MediaRouteProvider
- MediaRouteProvider.Callback
- MediaRouteProvider.ProviderMetadata
- MediaRouteProvider.RouteController
- MediaRouteProviderDescriptor
- MediaRouteProviderDescriptor.Builder
- MediaRouteProviderService
- MediaRouter
- MediaRouter.Callback
- MediaRouter.ControlRequestCallback
- MediaRouter.ProviderInfo
- MediaRouter.RouteInfo
- MediaRouteSelector
- MediaRouteSelector.Builder
- MediaSessionStatus
- MediaSessionStatus.Builder
- RemotePlaybackClient
- RemotePlaybackClient.ActionCallback
- RemotePlaybackClient.ItemActionCallback
- RemotePlaybackClient.SessionActionCallback
- RemotePlaybackClient.StatusCallback
 
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
