# SessionStateCallback

# SessionStateCallback

*** ** * ** ***

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

<br />

```
@RequiresApi(value = 26) interface SessionStateCallback
```

<br />

Known direct subclasses  
[OriginatingSessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/OriginatingSessionStateCallback),[PrimarySessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/PrimarySessionStateCallback),[ReceivingSessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/ReceivingSessionStateCallback),[SecondarySessionStateCallback](https://developer.android.com/reference/kotlin/com/google/ambient/crossdevice/sessions/SecondarySessionStateCallback)  

|-----------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [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.                     |
| [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.     |
| [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.                       |
| [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. |

*** ** * ** ***

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).