# Class Index

# Class Index

*** ** * ** ***

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

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

## A

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

## C

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

## D

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [DeviceFilter](https://developer.android.com/reference/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/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/com/google/ambient/crossdevice/discovery/DeviceFilter.Companion)                                 |                                                                                                                                                                                                                                                                                                                                                          |
| [DevicePickerLauncher](https://developer.android.com/reference/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/com/google/ambient/crossdevice/discovery/Discovery)                                                           | Entry point for discovering devices.                                                                                                                                                                                                                                                                                                                     |
| [Discovery.Companion](https://developer.android.com/reference/com/google/ambient/crossdevice/discovery/Discovery.Companion)                                       |                                                                                                                                                                                                                                                                                                                                                          |
| [Discovery.OnDevicePickerResultListener](https://developer.android.com/reference/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/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/com/google/ambient/crossdevice/sessions/ExactSessionTagMatcher) | An[ApplicationSessionTagMatcher](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/ApplicationSessionTagMatcher)that matches[ApplicationSessionTag](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/ApplicationSessionTag)objects when their[ApplicationSessionTag.sessionTag](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/ApplicationSessionTag#sessionTag())strings are the same. |

## M

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

## O

|----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| [OriginatingSession](https://developer.android.com/reference/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/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/com/google/ambient/crossdevice/Participant)                                          | An opaque handle that represents a participant in a cross device experience.                                                                                        |
| [PrimarySession](https://developer.android.com/reference/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/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/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/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/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/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/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/com/google/ambient/crossdevice/sessions/SessionConnectionReceiver)                 | Receiver callback for a[SessionRemoteConnection](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionRemoteConnection).                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [SessionException](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionException)                                   | Exception for session requests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| [SessionException.Companion](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionException.Companion)               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| [SessionException.SessionErrorCode](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionException.SessionErrorCode) |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| [SessionId](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionId)                                                 | An identifier that uniquely describes an individual Session.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| [SessionId.Companion](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionId.Companion)                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| [SessionParticipant](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionParticipant)                               | Represents an individual device that is participating in a Session.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [SessionRemoteConnection](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionRemoteConnection)                     | A connection to a remote device that is participating in a Session.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [SessionStateCallback](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionStateCallback)                           | Grants access to client-provided callbacks[OriginatingSessionStateCallback](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/OriginatingSessionStateCallback),[ReceivingSessionStateCallback](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/ReceivingSessionStateCallback),[PrimarySessionStateCallback](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/PrimarySessionStateCallback)and[SecondarySessionStateCallback](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySessionStateCallback). |
| [Sessions](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/Sessions)                                                   | Entry-point for creating and interacting with Sessions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| [Sessions.Companion](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/Sessions.Companion)                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| [StartComponentRequest](https://developer.android.com/reference/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/com/google/ambient/crossdevice/wakeup/StartComponentRequest.Builder)           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |

## T

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