| 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.
| Nested Classes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 
          | 
        MediaRouteProvider.Callback | Callback which is invoked when route information becomes available or changes. | |||||||||
| 
          | 
        MediaRouteProvider.ProviderMetadata | Describes properties of the route provider's implementation. | |||||||||
| 
          | 
        MediaRouteProvider.RouteController | Provides control over a particular route. | |||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 
           | 
         
           
           Creates a media route provider.
           
          | 
        ||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 
           | 
         
           
           Gets the context of the media route provider.
           
          | 
        ||||||||||
| 
           | 
         
           
           Gets the provider's descriptor.
           
          | 
        ||||||||||
| 
           | 
         
           
           Gets the current discovery request which informs the provider about the
 kinds of routes to discover and whether to perform active scanning.
           
          | 
        ||||||||||
| 
           | 
         
           
           Gets the provider's handler which is associated with the main thread.
           
          | 
        ||||||||||
| 
           | 
         
           
           Gets some metadata about the provider's implementation.
           
          | 
        ||||||||||
| 
           | 
         
           
           Called by the media router to obtain a route controller for a particular route.
           
          | 
        ||||||||||
| 
           | 
         
           
           Called by the media router when the
            
         
            
             discovery request
            
           
           has changed.
           | 
        ||||||||||
| 
           | 
         
           
           Sets a callback to invoke when the provider's descriptor changes.
           
          | 
        ||||||||||
| 
           | 
         
           
           Sets the provider's descriptor.
           
          | 
        ||||||||||
| 
           | 
         
           
           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.
           
          | 
        ||||||||||
| 
          
           [Expand]
          
           
           Inherited Methods
           
          | 
        |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
          
            
          
          From class
          
           java.lang.Object
          
           | 
        |||||||||||
Creates a media route provider.
| context | The context. | 
|---|
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)
          
         
         .
        
Gets the current discovery request which informs the provider about the kinds of routes to discover and whether to perform active scanning.
Gets the provider's handler which is associated with the main thread.
Gets some metadata about the provider's implementation.
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.
        
| routeId | The unique id of the route. | 
|---|
         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.
        
| request | The new discovery request, or null if no discovery is needed at this time. | 
|---|
Sets a callback to invoke when the provider's descriptor changes.
| callback | The callback to use, or null if none. | 
|---|
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.
        
| descriptor | The updated route provider descriptor, or null if none. | 
|---|
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.
| request | The discovery request, or null if no discovery is needed at this time. | 
|---|