# Class Index

# Class Index

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/crossdevice/classes "View this page in Java")

These are all the API classes. See all[API packages](https://developer.android.com/reference/kotlin/crossdevice/packages).  
[A](https://developer.android.com/reference/kotlin/crossdevice/classes#letter_A)[C](https://developer.android.com/reference/kotlin/crossdevice/classes#letter_C)[D](https://developer.android.com/reference/kotlin/crossdevice/classes#letter_D)[E](https://developer.android.com/reference/kotlin/crossdevice/classes#letter_E)[M](https://developer.android.com/reference/kotlin/crossdevice/classes#letter_M)[O](https://developer.android.com/reference/kotlin/crossdevice/classes#letter_O)[P](https://developer.android.com/reference/kotlin/crossdevice/classes#letter_P)[R](https://developer.android.com/reference/kotlin/crossdevice/classes#letter_R)[S](https://developer.android.com/reference/kotlin/crossdevice/classes#letter_S)[T](https://developer.android.com/reference/kotlin/crossdevice/classes#letter_T)

## A

|-----------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [ApplicationSessionTag](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ApplicationSessionTag)               | An identifier that allows apps to differentiate between multiple types of sessions.                                                                                    |
| [ApplicationSessionTagMatcher](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ApplicationSessionTagMatcher) | Defines how two[ApplicationSessionTag](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ApplicationSessionTag)should be matched. |

## C

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
| [ConnectionReceiver](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/connections/ConnectionReceiver)                                               | Receiver callback for a[RemoteConnection](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/connections/RemoteConnection). |
| [ConnectionType](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/connections/ConnectionType)                                                       | The type of the connection.                                                                                                                            |
| [ConnectionsException](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/connections/ConnectionsException)                                           | Exception for connections requests.                                                                                                                    |
| [ConnectionsException.Companion](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/connections/ConnectionsException.Companion)                       |                                                                                                                                                        |
| [ConnectionsException.ConnectionsErrorCode](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/connections/ConnectionsException.ConnectionsErrorCode) |                                                                                                                                                        |
| [CrossDeviceException](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/CrossDeviceException)                                                       | Base exception type for Cross device APIs.                                                                                                             |

## D

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [DeviceFilter](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/DeviceFilter)                                                     | A DeviceFilter is a restriction on which devices should be shown in a call to[Discovery.registerForResult](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/Discovery#registerForResult(androidx.activity.result.ActivityResultCaller,com.google.ambient.crossdevice.discovery.Discovery.OnDevicePickerResultListener)). |
| [DeviceFilter.Companion](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/DeviceFilter.Companion)                                 |                                                                                                                                                                                                                                                                                                                                                                 |
| [DevicePickerLauncher](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/DevicePickerLauncher)                                     | A launcher to start a device discovery and show a dialog chooser to display available devices.                                                                                                                                                                                                                                                                  |
| [Discovery](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/Discovery)                                                           | Entry point for discovering devices.                                                                                                                                                                                                                                                                                                                            |
| [Discovery.Companion](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/Discovery.Companion)                                       |                                                                                                                                                                                                                                                                                                                                                                 |
| [Discovery.OnDevicePickerResultListener](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/Discovery.OnDevicePickerResultListener) | Interface to receive the result from the device picker, for use with[registerForResult](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/discovery/Discovery#registerForResult(androidx.activity.result.ActivityResultCaller,com.google.ambient.crossdevice.discovery.Discovery.OnDevicePickerResultListener)).                    |

## E

|-----------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [ExactSessionTagMatcher](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ExactSessionTagMatcher) | An[ApplicationSessionTagMatcher](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ApplicationSessionTagMatcher)that matches[ApplicationSessionTag](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ApplicationSessionTag)objects when their[ApplicationSessionTag.sessionTag](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ApplicationSessionTag#sessionTag())strings are the same. |

## M

|-------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [MatchEverythingSessionTagMatcher](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/MatchEverythingSessionTagMatcher) | An[ApplicationSessionTagMatcher](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ApplicationSessionTagMatcher)that always returns true. |

## O

|-----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| [OriginatingSession](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/OriginatingSession)                           | Describes a Session that is in the process of being transferred to another device.                                                                  |
| [OriginatingSessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/OriginatingSessionStateCallback) | Clients of Sessions should implement`OriginatingSessionStateCallback`to receive notifications of Session state changes when transferring a Session. |

## P

|---------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Participant](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/Participant)                                          | An opaque handle that represents a participant in a cross device experience.                                                                                        |
| [PrimarySession](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/PrimarySession)                           | When a Session becomes shared with one or more devices, this interface represents the Primary device (the Session owner).                                           |
| [PrimarySessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/PrimarySessionStateCallback) | Clients of Sessions should implement`PrimarySessionStateCallback`to receive notifications of Session state changes when acting as the Primary for a Shared Session. |

## R

|-------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| [ReceivingSession](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ReceivingSession)                           | Describes a Session that is in the process of being transferred to another device.                                                                |
| [ReceivingSessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ReceivingSessionStateCallback) | Clients of Sessions should implement`ReceivingSessionStateCallback`to receive notifications of Session state changes when transferring a Session. |
| [RemoteConnection](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/connections/RemoteConnection)                        | A connection to a remote device, used for sending and receiving payloads.                                                                         |

## S

|---------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SecondarySession](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SecondarySession)                                   | When a Session becomes shared with one or more devices, this interface represents a secondary device (a device that has joined an existing Session).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| [SecondarySessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SecondarySessionStateCallback)         | Clients of Sessions should implement`SecondarySessionStateCallback`to receive notifications of Session state changes when acting as the Secondary for a shared Session.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| [SessionConnectionReceiver](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SessionConnectionReceiver)                 | Receiver callback for a[SessionRemoteConnection](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SessionRemoteConnection).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| [SessionException](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SessionException)                                   | Exception for session requests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [SessionException.Companion](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SessionException.Companion)               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [SessionException.SessionErrorCode](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SessionException.SessionErrorCode) |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [SessionId](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SessionId)                                                 | An identifier that uniquely describes an individual Session.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [SessionId.Companion](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SessionId.Companion)                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [SessionParticipant](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SessionParticipant)                               | Represents an individual device that is participating in a Session.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| [SessionRemoteConnection](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SessionRemoteConnection)                     | A connection to a remote device that is participating in a Session.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| [SessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SessionStateCallback)                           | Grants access to client-provided callbacks[OriginatingSessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/OriginatingSessionStateCallback),[ReceivingSessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ReceivingSessionStateCallback),[PrimarySessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/PrimarySessionStateCallback)and[SecondarySessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SecondarySessionStateCallback). |
| [Sessions](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/Sessions)                                                   | Entry-point for creating and interacting with Sessions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| [Sessions.Companion](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/Sessions.Companion)                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [StartComponentRequest](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/wakeup/StartComponentRequest)                           | A request to wake up a specified component on another device, and optionally deliver additional information to it.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| [StartComponentRequest.Builder](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/wakeup/StartComponentRequest.Builder)           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

## T

|-------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
| [TransferrableSession](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/TransferrableSession) | Describes methods that are common to both originating and receiving sides of a Session transfer. |