# SessionToken

Artifact: [androidx.media3:media3-session](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/session/SessionToken.java+class:androidx.media3.session.SessionToken)

*** ** * ** ***

<br />

```
class SessionToken
```

<br />

*** ** * ** ***

A token that represents an ongoing `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession` or a service (`https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSessionService`, `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService`, or ` androix.media.MediaBrowserServiceCompat`). If it represents a service, it may not be ongoing.

This may be passed to apps by the session owner to allow them to create a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController` or a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser` to communicate with the session.

It can also be obtained by `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getAllServiceTokens(android.content.Context)`.

## Summary

| ### Nested types |
|---|
| `@https://developer.android.com/reference/java/lang/annotation/Documented.html @https://developer.android.com/reference/java/lang/annotation/Retention.html(value = https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE) @https://developer.android.com/reference/java/lang/annotation/Target.html(value = https://developer.android.com/reference/java/lang/annotation/ElementType.html#TYPE_USE) @https://developer.android.com/reference/kotlin/androidx/annotation/IntDef(value = ) annotation https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken.TokenType` Types of `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken`. |

| ### Constants |
|---|---|
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#PLATFORM_SESSION_VERSION() = 0` `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getSessionVersion()` for a platform `https://developer.android.com/reference/android/media/session/MediaSession.html` or legacy ` android.support.v4.media.session.MediaSessionCompat`. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#TYPE_LIBRARY_SERVICE() = 2` Type for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService`. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#TYPE_SESSION() = 0` Type for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession`. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#TYPE_SESSION_SERVICE() = 1` Type for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSessionService`. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#UNKNOWN_INTERFACE_VERSION() = 0` Unknown `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getInterfaceVersion()` for a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession` that isn't connected yet, for an older session that didn't publish its interface version, for a platform `https://developer.android.com/reference/android/media/session/MediaSession.html` or for a legacy ` android.support.v4.media.session.MediaSessionCompat`. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#UNKNOWN_SESSION_VERSION() = 1000000` Unknown `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getSessionVersion()` for a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession` that isn't connected yet. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#SessionToken(android.content.Context,android.content.ComponentName)(context: https://developer.android.com/reference/android/content/Context.html!, serviceComponent: https://developer.android.com/reference/android/content/ComponentName.html!)` Creates a token for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController` or `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser` to connect to one of `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSessionService`, `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService`, or ` androidx.media.MediaBrowserServiceCompat`. |

| ### Public functions |
|---|---|
| `java-static https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#createSessionToken(android.content.Context,android.media.session.MediaSession.Token)(context: https://developer.android.com/reference/android/content/Context.html!, token: https://developer.android.com/reference/android/media/session/MediaSession.Token.html!)` Creates a token from a platform `https://developer.android.com/reference/android/media/session/MediaSession.Token.html`. |
| `java-static https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken!>!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#createSessionToken(android.content.Context,android.os.Parcelable)(context: https://developer.android.com/reference/android/content/Context.html!, token: https://developer.android.com/reference/android/os/Parcelable.html!)` Creates a token from a platform `https://developer.android.com/reference/android/media/session/MediaSession.Token.html` or ` android.support.v4.media.session.MediaSessionCompat.Token`. |
| `java-static https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken!>!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#createSessionToken(android.content.Context,android.media.session.MediaSession.Token,android.os.Looper)( context: https://developer.android.com/reference/android/content/Context.html!, token: https://developer.android.com/reference/android/media/session/MediaSession.Token.html!, completionLooper: https://developer.android.com/reference/android/os/Looper.html! )` Creates a token from a platform `https://developer.android.com/reference/android/media/session/MediaSession.Token.html`. |
| `java-static https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken!>!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#createSessionToken(android.content.Context,android.os.Parcelable,android.os.Looper)( context: https://developer.android.com/reference/android/content/Context.html!, token: https://developer.android.com/reference/android/os/Parcelable.html!, completionLooper: https://developer.android.com/reference/android/os/Looper.html! )` Creates a token from a platform `https://developer.android.com/reference/android/media/session/MediaSession.Token.html` or ` android.support.v4.media.session.MediaSessionCompat.Token`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#equals(java.lang.Object)(obj: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` |
| `java-static https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#fromBundle(android.os.Bundle)(bundle: https://developer.android.com/reference/android/os/Bundle.html!)` Restores a `SessionToken` from a `https://developer.android.com/reference/android/os/Bundle.html`. |
| `java-static https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableSet.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getAllServiceTokens(android.content.Context)(context: https://developer.android.com/reference/android/content/Context.html!)` Returns an `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableSet.html` of `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken` for media session services; `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSessionService`, `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService`, and `https://developer.android.com/reference/kotlin/androidx/media/MediaBrowserServiceCompat` regardless of their activeness. |
| `https://developer.android.com/reference/android/os/Bundle.html!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getExtras()()` Returns the extra `https://developer.android.com/reference/android/os/Bundle.html` of this token. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getInterfaceVersion()()` Returns the `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaLibraryInfo#INTERFACE_VERSION()` of the session or `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#UNKNOWN_INTERFACE_VERSION()`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getOriginalPackageName()()` Returns the package name of the application which originally created the session. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getPackageName()()` Returns the package name of the session |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getServiceName()()` Returns the service name of the session. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getSessionVersion()()` Returns the library version of the session, `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#UNKNOWN_SESSION_VERSION()`, or `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#PLATFORM_SESSION_VERSION()`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken.TokenType https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getType()()` Returns the type of this token. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getUid()()` Returns the UID of the session process, or `https://developer.android.com/reference/kotlin/androidx/media3/common/C#INDEX_UNSET()` if the UID can't be determined due to missing [package visibility](https://developer.android.com/training/package-visibility). |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#hashCode()()` |
| `https://developer.android.com/reference/android/os/Bundle.html!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#toBundle()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#toString()()` |

## Constants

### PLATFORM_SESSION_VERSION

```
const val PLATFORM_SESSION_VERSION = 0: Int
```

`https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getSessionVersion()` for a platform `https://developer.android.com/reference/android/media/session/MediaSession.html` or legacy ` android.support.v4.media.session.MediaSessionCompat`.

### TYPE_LIBRARY_SERVICE

```
const val TYPE_LIBRARY_SERVICE = 2: Int
```

Type for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService`.

### TYPE_SESSION

```
const val TYPE_SESSION = 0: Int
```

Type for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession`.

### TYPE_SESSION_SERVICE

```
const val TYPE_SESSION_SERVICE = 1: Int
```

Type for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSessionService`.

### UNKNOWN_INTERFACE_VERSION

```
@UnstableApi
const val UNKNOWN_INTERFACE_VERSION = 0: Int
```

Unknown `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getInterfaceVersion()` for a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession` that isn't connected yet, for an older session that didn't publish its interface version, for a platform `https://developer.android.com/reference/android/media/session/MediaSession.html` or for a legacy ` android.support.v4.media.session.MediaSessionCompat`.

Note: Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getConnectedToken()` to obtain the version after connecting a controller.

### UNKNOWN_SESSION_VERSION

```
const val UNKNOWN_SESSION_VERSION = 1000000: Int
```

Unknown `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getSessionVersion()` for a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession` that isn't connected yet.

Note: Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getConnectedToken()` to obtain the version after connecting a controller.

## Public constructors

### SessionToken

```
SessionToken(context: Context!, serviceComponent: ComponentName!)
```

Creates a token for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController` or `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser` to connect to one of `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSessionService`, `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService`, or ` androidx.media.MediaBrowserServiceCompat`.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html!` | The context. |
| `serviceComponent: https://developer.android.com/reference/android/content/ComponentName.html!` | The component name of the service. |

## Public functions

### createSessionToken

```
java-static fun createSessionToken(context: Context!, token: MediaSession.Token!): ListenableFuture<SessionToken!>!
```

Creates a token from a platform `https://developer.android.com/reference/android/media/session/MediaSession.Token.html`.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html!` | A `https://developer.android.com/reference/android/content/Context.html`. |
| `token: https://developer.android.com/reference/android/media/session/MediaSession.Token.html!` | The platform `https://developer.android.com/reference/android/media/session/MediaSession.Token.html`. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken!>!` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` for the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken`. |

### createSessionToken

```
@UnstableApi
java-static fun createSessionToken(context: Context!, token: Parcelable!): ListenableFuture<SessionToken!>!
```

Creates a token from a platform `https://developer.android.com/reference/android/media/session/MediaSession.Token.html` or ` android.support.v4.media.session.MediaSessionCompat.Token`.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html!` | A `https://developer.android.com/reference/android/content/Context.html`. |
| `token: https://developer.android.com/reference/android/os/Parcelable.html!` | The `https://developer.android.com/reference/android/media/session/MediaSession.Token.html` or ` android.support.v4.media.session.MediaSessionCompat.Token`. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken!>!` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` for the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken`. |

### createSessionToken

```
@UnstableApi
java-static fun createSessionToken(
    context: Context!,
    token: MediaSession.Token!,
    completionLooper: Looper!
): ListenableFuture<SessionToken!>!
```

Creates a token from a platform `https://developer.android.com/reference/android/media/session/MediaSession.Token.html`.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html!` | A `https://developer.android.com/reference/android/content/Context.html`. |
| `token: https://developer.android.com/reference/android/media/session/MediaSession.Token.html!` | The platform `https://developer.android.com/reference/android/media/session/MediaSession.Token.html`. |
| `completionLooper: https://developer.android.com/reference/android/os/Looper.html!` | The `https://developer.android.com/reference/android/os/Looper.html` on which the returned `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` completes. This `https://developer.android.com/reference/android/os/Looper.html` can't be used to call `future.get()` on the returned `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html`. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken!>!` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` for the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken`. |

### createSessionToken

```
@UnstableApi
java-static fun createSessionToken(
    context: Context!,
    token: Parcelable!,
    completionLooper: Looper!
): ListenableFuture<SessionToken!>!
```

Creates a token from a platform `https://developer.android.com/reference/android/media/session/MediaSession.Token.html` or ` android.support.v4.media.session.MediaSessionCompat.Token`.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html!` | A `https://developer.android.com/reference/android/content/Context.html`. |
| `token: https://developer.android.com/reference/android/os/Parcelable.html!` | The `https://developer.android.com/reference/android/media/session/MediaSession.Token.html` or ` android.support.v4.media.session.MediaSessionCompat.Token`. |
| `completionLooper: https://developer.android.com/reference/android/os/Looper.html!` | The `https://developer.android.com/reference/android/os/Looper.html` on which the returned `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` completes. This `https://developer.android.com/reference/android/os/Looper.html` can't be used to call `future.get()` on the returned `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html`. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken!>!` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` for the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken`. |

### equals

```
fun equals(obj: Any?): Boolean
```

### fromBundle

```
@UnstableApi
java-static fun fromBundle(bundle: Bundle!): SessionToken!
```

Restores a `SessionToken` from a `https://developer.android.com/reference/android/os/Bundle.html`.

### getAllServiceTokens

```
java-static fun getAllServiceTokens(context: Context!): ImmutableSet<SessionToken!>!
```

Returns an `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableSet.html` of `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken` for media session services; `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSessionService`, `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService`, and `https://developer.android.com/reference/kotlin/androidx/media/MediaBrowserServiceCompat` regardless of their activeness.

The app targeting API level 30 or higher must include a `<queries>` element in their manifest to get service tokens of other apps. See the following example and [this guide](https://developer.android.com/training/package-visibility) for more information.

```kotlin
<intent>
  <action android:name="androidx.media3.session.MediaSessionService" />
</intent>
<intent>
  <action android:name="androidx.media3.session.MediaLibraryService" />
</intent>
<intent>
  <action android:name="android.media.browse.MediaBrowserService" />
</intent>
```

### getExtras

```
fun getExtras(): Bundle!
```

Returns the extra `https://developer.android.com/reference/android/os/Bundle.html` of this token.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.Builder#setExtras(android.os.Bundle)` |   |

### getInterfaceVersion

```
@UnstableApi
fun getInterfaceVersion(): Int
```

Returns the `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaLibraryInfo#INTERFACE_VERSION()` of the session or `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#UNKNOWN_INTERFACE_VERSION()`.

### getOriginalPackageName

```
@UnstableApi
fun getOriginalPackageName(): String!
```

Returns the package name of the application which originally created the session. This may be different from `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getPackageName()` if `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession.Builder#setPackageNameOverride(java.lang.String)` was used to create the session.

### getPackageName

```
fun getPackageName(): String!
```

Returns the package name of the session

### getServiceName

```
fun getServiceName(): String!
```

Returns the service name of the session. It will be an empty string if the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getType()` is `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#TYPE_SESSION()`.

### getSessionVersion

```
fun getSessionVersion(): Int
```

Returns the library version of the session, `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#UNKNOWN_SESSION_VERSION()`, or `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#PLATFORM_SESSION_VERSION()`.

- If the session is a platform `https://developer.android.com/reference/android/media/session/MediaSession.html` or legacy ` android.support.v4.media.session.MediaSessionCompat`, this will be `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#PLATFORM_SESSION_VERSION()`.
- If the token's `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getType()` is `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#TYPE_SESSION()`, this will be the same as `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaLibraryInfo#VERSION_INT()` of the session.
- If the token's `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#getType()` is `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#TYPE_SESSION_SERVICE()` or `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#TYPE_LIBRARY_SERVICE()`, this will be `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#UNKNOWN_SESSION_VERSION()`. You can obtain the actual session version after a connecting a controller via the `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getConnectedToken()` of type `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#TYPE_SESSION()`.
- 

### getType

```
@SessionToken.TokenType
fun getType(): Int
```

Returns the type of this token. One of `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#TYPE_SESSION()`, `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#TYPE_SESSION_SERVICE()`, or `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken#TYPE_LIBRARY_SERVICE()`.

### getUid

```
fun getUid(): Int
```

Returns the UID of the session process, or `https://developer.android.com/reference/kotlin/androidx/media3/common/C#INDEX_UNSET()` if the UID can't be determined due to missing [package visibility](https://developer.android.com/training/package-visibility).

### hashCode

```
fun hashCode(): Int
```

### toBundle

```
@UnstableApi
fun toBundle(): Bundle!
```

### toString

```
fun toString(): String!
```