MediaTransferReceiver


class MediaTransferReceiver : BroadcastReceiver


A BroadcastReceiver class for enabling Media transfer feature.

Media transfer is a feature that allows system UI and other trusted components to control enabled apps' media routing. By using this, users can re-route the app's media while the application is in the background. Also, the media can be transferred from one device to another device seamlessly, depending on the devices. This feature is supported from Android 11.

To enable the media transfer feature, apps can enable the media transfer enabled parameter (see setRouterParams). Or, alternatively, apps can declare this receiver in the app's manifest. For example:

<application>
    <receiver android:name="androidx.mediarouter.media.MediaTransferReceiver"
        android:exported="false" />
</application>

Media apps that enable this feature should implement the MediaRouter.Callback properly. Specifically:

  • Apps should handle events even while in the background. For example, this means that the callback should not be removed in onStop. (See addCallback for how to add a callback.
  • Apps should handle media routing changes by another app. Apps can override onRouteSelected to handle routing changes. setOnPrepareTransferListener is also relevant.
  • In order to enable transferring media from remote to local (e.g. from TV to phone), media apps should enable 'transfer to local' feature. Otherwise, the local devices won't show up as a transfer target while playing on a remote device.

Summary

Public constructors

Public functions

Unit
onReceive(context: Context, intent: Intent)

Public constructors

MediaTransferReceiver

Added in 1.2.0
MediaTransferReceiver()

Public functions

onReceive

Added in 1.2.0
fun onReceive(context: Context, intent: Intent): Unit