# Print output for @column tags ?> MediaSessionManager - Android SDK | Android Developers

Most visited

Recently visited

MediaSessionManager

public final class MediaSessionManager
extends Object

java.lang.Object
   ↳ android.media.session.MediaSessionManager


Provides support for interacting with MediaSession that applications have published to express their ongoing media playback state.

See also:

Summary

Nested classes

interface MediaSessionManager.OnActiveSessionsChangedListener

Listens for changes to the list of active sessions. 

interface MediaSessionManager.OnSession2TokensChangedListener

This API is not generally intended for third party application developers. 

class MediaSessionManager.RemoteUserInfo

Information of a remote user of MediaSession or MediaBrowserService

Public methods

void addOnActiveSessionsChangedListener(MediaSessionManager.OnActiveSessionsChangedListener sessionListener, ComponentName notificationListener)

Add a listener to be notified when the list of active sessions changes.This requires the android.Manifest.permission.MEDIA_CONTENT_CONTROL permission be held by the calling app.

void addOnActiveSessionsChangedListener(MediaSessionManager.OnActiveSessionsChangedListener sessionListener, ComponentName notificationListener, Handler handler)

Add a listener to be notified when the list of active sessions changes.This requires the android.Manifest.permission.MEDIA_CONTENT_CONTROL permission be held by the calling app.

void addOnSession2TokensChangedListener(MediaSessionManager.OnSession2TokensChangedListener listener)

This API is not generally intended for third party application developers.

void addOnSession2TokensChangedListener(MediaSessionManager.OnSession2TokensChangedListener listener, Handler handler)

This API is not generally intended for third party application developers.

List<MediaController> getActiveSessions(ComponentName notificationListener)

Get a list of controllers for all ongoing sessions.

List<Session2Token> getSession2Tokens()

This API is not generally intended for third party application developers.

boolean isTrustedForMediaControl(MediaSessionManager.RemoteUserInfo userInfo)

Checks whether the remote user is a trusted app.

void notifySession2Created(Session2Token token)

This API is not generally intended for third party application developers.

void removeOnActiveSessionsChangedListener(MediaSessionManager.OnActiveSessionsChangedListener listener)

Stop receiving active sessions updates on the specified listener.

void removeOnSession2TokensChangedListener(MediaSessionManager.OnSession2TokensChangedListener listener)

This API is not generally intended for third party application developers.

Inherited methods

Public methods

addOnActiveSessionsChangedListener

public void addOnActiveSessionsChangedListener (MediaSessionManager.OnActiveSessionsChangedListener sessionListener, 
                ComponentName notificationListener)

Add a listener to be notified when the list of active sessions changes.This requires the android.Manifest.permission.MEDIA_CONTENT_CONTROL permission be held by the calling app. You may also retrieve this list if your app is an enabled notification listener using the NotificationListenerService APIs, in which case you must pass the ComponentName of your enabled listener. Updates will be posted to the thread that registered the listener.

Parameters
sessionListener MediaSessionManager.OnActiveSessionsChangedListener: The listener to add. This value cannot be null.

notificationListener ComponentName: The enabled notification listener component. May be null. This value may be null.

addOnActiveSessionsChangedListener

public void addOnActiveSessionsChangedListener (MediaSessionManager.OnActiveSessionsChangedListener sessionListener, 
                ComponentName notificationListener, 
                Handler handler)

Add a listener to be notified when the list of active sessions changes.This requires the android.Manifest.permission.MEDIA_CONTENT_CONTROL permission be held by the calling app. You may also retrieve this list if your app is an enabled notification listener using the NotificationListenerService APIs, in which case you must pass the ComponentName of your enabled listener. Updates will be posted to the handler specified or to the caller's thread if the handler is null.

Parameters
sessionListener MediaSessionManager.OnActiveSessionsChangedListener: The listener to add. This value cannot be null.

notificationListener ComponentName: The enabled notification listener component. May be null. This value may be null.

handler Handler: The handler to post events to. This value may be null.

addOnSession2TokensChangedListener

public void addOnSession2TokensChangedListener (MediaSessionManager.OnSession2TokensChangedListener listener)

This API is not generally intended for third party application developers. Use the AndroidX Media2 session Library for consistent behavior across all devices.

Adds a listener to be notified when the getSession2Tokens() changes.

Parameters
listener MediaSessionManager.OnSession2TokensChangedListener: The listener to add This value cannot be null.

addOnSession2TokensChangedListener

public void addOnSession2TokensChangedListener (MediaSessionManager.OnSession2TokensChangedListener listener, 
                Handler handler)

This API is not generally intended for third party application developers. Use the AndroidX Media2 session Library for consistent behavior across all devices.

Adds a listener to be notified when the getSession2Tokens() changes.

Parameters
listener MediaSessionManager.OnSession2TokensChangedListener: The listener to add This value cannot be null.

handler Handler: The handler to call listener on. This value cannot be null.

getActiveSessions

public List<MediaController> getActiveSessions (ComponentName notificationListener)

Get a list of controllers for all ongoing sessions. The controllers will be provided in priority order with the most important controller at index 0.

This requires the android.Manifest.permission.MEDIA_CONTENT_CONTROL permission be held by the calling app. You may also retrieve this list if your app is an enabled notification listener using the NotificationListenerService APIs, in which case you must pass the ComponentName of your enabled listener.

Parameters
notificationListener ComponentName: The enabled notification listener component. May be null. This value may be null.

Returns
List<MediaController> A list of controllers for ongoing sessions.

getSession2Tokens

public List<Session2Token> getSession2Tokens ()

This API is not generally intended for third party application developers. Use the AndroidX Media2 session Library for consistent behavior across all devices.

Gets a list of Session2Token with type Session2Token#TYPE_SESSION for the current user.

Although this API can be used without any restriction, each session owners can accept or reject your uses of MediaSession2.

Returns
List<Session2Token> A list of Session2Token. This value cannot be null.

isTrustedForMediaControl

public boolean isTrustedForMediaControl (MediaSessionManager.RemoteUserInfo userInfo)

Checks whether the remote user is a trusted app.

An app is trusted if the app holds the android.Manifest.permission.MEDIA_CONTENT_CONTROL permission or has an enabled notification listener.

Parameters
userInfo MediaSessionManager.RemoteUserInfo: The remote user info from either MediaSession#getCurrentControllerInfo() or MediaBrowserService#getCurrentBrowserInfo(). This value cannot be null.

Returns
boolean true if the remote user is trusted and its package name matches with the UID. false otherwise.

notifySession2Created

public void notifySession2Created (Session2Token token)

This API is not generally intended for third party application developers. Use the AndroidX Media2 session Library for consistent behavior across all devices.

Notifies that a new MediaSession2 with type Session2Token#TYPE_SESSION is created.

Do not use this API directly, but create a new instance through the MediaSession2.Builder instead.

Parameters
token Session2Token: newly created session2 token This value cannot be null.

removeOnActiveSessionsChangedListener

public void removeOnActiveSessionsChangedListener (MediaSessionManager.OnActiveSessionsChangedListener listener)

Stop receiving active sessions updates on the specified listener.

Parameters
listener MediaSessionManager.OnActiveSessionsChangedListener: The listener to remove. This value cannot be null.

removeOnSession2TokensChangedListener

public void removeOnSession2TokensChangedListener (MediaSessionManager.OnSession2TokensChangedListener listener)

This API is not generally intended for third party application developers. Use the AndroidX Media2 session Library for consistent behavior across all devices.

Removes the OnSession2TokensChangedListener to stop receiving session token updates.

Parameters
listener MediaSessionManager.OnSession2TokensChangedListener: The listener to remove. This value cannot be null.