# SecondarySession

# SecondarySession

*** ** * ** ***

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

<br />

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

<br />

*** ** * ** ***

When a Session becomes shared with one or more devices, this interface represents a secondary device (a device that has joined an existing Session).

## Summary

|                                                                                                                                                                                                                                                                            ### Public fields                                                                                                                                                                                                                                                                             ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract @`[NonNull](https://developer.android.com/reference/androidx/annotation/NonNull)` `[SessionId](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionId) | [sessionId](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession#sessionId()) [SessionId](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionId)this[SecondarySession](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession)belongs to. |

|                                                                                                                                                                                                                                                                                                           ### Public methods                                                                                                                                                                                                                                                                                                            ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract void`                                                                                                                                                                                                                                                                 | [destroySecondarySession](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession#destroySecondarySession())`()` Destroys the[SecondarySession](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession).                                                            |
| `abstract @`[NonNull](https://developer.android.com/reference/androidx/annotation/NonNull)` `[ListenableFuture](https://developer.android.com/reference/com/google/common/util/concurrent/ListenableFuture)`<`[Void](https://developer.android.com/reference/java/lang/Void)`>` | [destroySecondarySessionFuture](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession#destroySecondarySessionFuture())`()` Java-compatible version of[destroySecondarySession](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession#destroySecondarySession()). |
| `abstract @`[NonNull](https://developer.android.com/reference/androidx/annotation/NonNull)` `[SessionRemoteConnection](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionRemoteConnection)                                                 | [getDefaultRemoteConnection](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession#getDefaultRemoteConnection())`()` Gets communication channel to send messages to the primary of the Sessions.                                                                                                            |

## Public fields

### sessionId

```
abstract @NonNull SessionId sessionId
```

[SessionId](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionId)this[SecondarySession](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession)belongs to.

## Public methods

### destroySecondarySession

```
abstract void destroySecondarySession()
```

Destroys the[SecondarySession](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession).

When a[SecondarySession](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession)is destroyed, the connection with the Primary is terminated and this participant will leave the underlying Session.  

|                                                                                                                                                                                   Throws                                                                                                                                                                                    ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
| [com.google.ambient.crossdevice.sessions.SessionException](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionException)` com.google.ambient.crossdevice.sessions.SessionException` | if the[SecondarySession](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession)object is no long valid. |

### destroySecondarySessionFuture

```
abstract @NonNull ListenableFuture<Void> destroySecondarySessionFuture()
```

Java-compatible version of[destroySecondarySession](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession#destroySecondarySession()).  

### getDefaultRemoteConnection

```
abstract @NonNull SessionRemoteConnection getDefaultRemoteConnection()
```

Gets communication channel to send messages to the primary of the Sessions.  

|                                                                                                                                                                                   Throws                                                                                                                                                                                    ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
| [com.google.ambient.crossdevice.sessions.SessionException](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SessionException)` com.google.ambient.crossdevice.sessions.SessionException` | if the[SecondarySession](https://developer.android.com/reference/com/google/ambient/crossdevice/sessions/SecondarySession)object is no long valid. |