# Print output for @column tags ?>
public
final
class
MediaSessionManager
extends Object
java.lang.Object | |
↳ | android.media.session.MediaSessionManager |
Provides support for interacting with media sessions
that applications have published to express their ongoing media playback
state.
See also:
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 |
Public methods | |
---|---|
void
|
addOnActiveSessionsChangedListener(MediaSessionManager.OnActiveSessionsChangedListener sessionListener, ComponentName notificationListener)
Add a listener to be notified when the list of active sessions changes. |
void
|
addOnActiveSessionsChangedListener(MediaSessionManager.OnActiveSessionsChangedListener sessionListener, ComponentName notificationListener, Handler handler)
Add a listener to be notified when the list of active sessions changes. |
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 method is deprecated. Don't use this method. A new media session is notified automatically. |
void
|
removeOnActiveSessionsChangedListener(MediaSessionManager.OnActiveSessionsChangedListener sessionListener)
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 void addOnActiveSessionsChangedListener (MediaSessionManager.OnActiveSessionsChangedListener sessionListener, ComponentName notificationListener)
Add a listener to be notified when the list of active sessions changes.
This requires the Manifest.permission.MEDIA_CONTENT_CONTROL
permission be
held by the calling app. You may also retrieve this list if your app is an enabled
notificationlistener using the NotificationListenerService
APIs, in which case you
must pass the ComponentName
of your enabled 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 . |
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 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 . |
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 . |
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 . |
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 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. |
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 . |
public boolean isTrustedForMediaControl (MediaSessionManager.RemoteUserInfo userInfo)
Checks whether the remote user is a trusted app.
An app is trusted if the app holds the
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. |
public void notifySession2Created (Session2Token token)
This method is deprecated.
Don't use this method. A new media session is notified automatically.
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 . |
public void removeOnActiveSessionsChangedListener (MediaSessionManager.OnActiveSessionsChangedListener sessionListener)
Stop receiving active sessions updates on the specified listener.
Parameters | |
---|---|
sessionListener |
MediaSessionManager.OnActiveSessionsChangedListener : The listener to remove.
This value cannot be null . |
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 . |