public final class

MediaSession.ControllerInfo

extends java.lang.Object

 java.lang.Object

↳androidx.media3.session.MediaSession.ControllerInfo

Overview

Information of a MediaController or a MediaBrowser.

Summary

Methods
public booleanequals(java.lang.Object obj)

public BundlegetConnectionHints()

Returns the connection hints sent from controller.

public intgetControllerVersion()

Returns the library version of the controller.

public java.lang.StringgetPackageName()

Returns the package name.

public intgetUid()

Returns the UID of the controller.

public inthashCode()

public java.lang.StringtoString()

from java.lang.Objectclone, finalize, getClass, notify, notifyAll, wait, wait, wait

Methods

public int getControllerVersion()

Returns the library version of the controller.

It will be the same as MediaLibraryInfo.VERSION_INT of the controller, or less than 1000000 if the controller is a legacy controller.

public java.lang.String getPackageName()

Returns the package name. Can be MediaSessionManager.RemoteUserInfo.LEGACY_CONTROLLER for interoperability.

Interoperability: Package name may not be precisely obtained for legacy controller API on older device. Here are details.

Summary when package name isn't precise
SDK version when package name isn't precise ControllerInfo#getPackageName() for legacy controller
SDK_INT < 21 Actual package name via PackageManager with UID.
It's sufficient for most cases, but doesn't precisely distinguish caller if it uses shared user ID.
21 <= SDK_INT < 24 MediaSessionManager.RemoteUserInfo.LEGACY_CONTROLLER

public int getUid()

Returns the UID of the controller. Can be a negative value for interoperability.

Interoperability: If 21 <= SDK_INT < 28, then UID would be a negative value because it cannot be obtained.

public Bundle getConnectionHints()

Returns the connection hints sent from controller.

public int hashCode()

public boolean equals(java.lang.Object obj)

public java.lang.String toString()