Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#pubctors) \| [Methods](https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#inhmethods)

# RemoteConnection.Callback

*** ** * ** ***

` public static abstract class RemoteConnection.Callback `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.telecom.RemoteConnection.Callback |

<br />

*** ** * ** ***

Callback base class for `https://developer.android.com/reference/android/telecom/RemoteConnection`.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#Callback()() ` |

| ### Public methods ||
|---|---|
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onAddressChanged(android.telecom.RemoteConnection,%20android.net.Uri,%20int)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, https://developer.android.com/reference/android/net/Uri address, int presentation) ` Indicates that the address (e.g., phone number) of this `RemoteConnection` has changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onCallerDisplayNameChanged(android.telecom.RemoteConnection,%20java.lang.String,%20int)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, https://developer.android.com/reference/java/lang/String callerDisplayName, int presentation) ` Indicates that the caller display name of this `RemoteConnection` has changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onConferenceChanged(android.telecom.RemoteConnection,%20android.telecom.RemoteConference)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, https://developer.android.com/reference/android/telecom/RemoteConference conference) ` Indicates that the `RemoteConference` that this `RemoteConnection` is a part of has changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onConferenceableConnectionsChanged(android.telecom.RemoteConnection,%20java.util.List<android.telecom.RemoteConnection>)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/telecom/RemoteConnection> conferenceableConnections) ` Indicates that the `RemoteConnection`s with which this `RemoteConnection` may be asked to create a conference has changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onConnectionCapabilitiesChanged(android.telecom.RemoteConnection,%20int)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, int connectionCapabilities) ` Indicates that the call capabilities of this `RemoteConnection` have changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onConnectionEvent(android.telecom.RemoteConnection,%20java.lang.String,%20android.os.Bundle)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, https://developer.android.com/reference/java/lang/String event, https://developer.android.com/reference/android/os/Bundle extras) ` Handles a connection event propagated to this `https://developer.android.com/reference/android/telecom/RemoteConnection`. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onConnectionPropertiesChanged(android.telecom.RemoteConnection,%20int)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, int connectionProperties) ` Indicates that the call properties of this `RemoteConnection` have changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onDestroyed(android.telecom.RemoteConnection)(https://developer.android.com/reference/android/telecom/RemoteConnection connection) ` Indicates that this `RemoteConnection` has been destroyed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onDisconnected(android.telecom.RemoteConnection,%20android.telecom.DisconnectCause)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, https://developer.android.com/reference/android/telecom/DisconnectCause disconnectCause) ` Invoked when this `RemoteConnection` is disconnected. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onExtrasChanged(android.telecom.RemoteConnection,%20android.os.Bundle)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, https://developer.android.com/reference/android/os/Bundle extras) ` Handles changes to the `RemoteConnection` extras. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onPostDialChar(android.telecom.RemoteConnection,%20char)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, char nextChar) ` Invoked when the post-dial sequence in the outgoing `Connection` has processed a character. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onPostDialWait(android.telecom.RemoteConnection,%20java.lang.String)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, https://developer.android.com/reference/java/lang/String remainingPostDialSequence) ` Invoked when the post-dial sequence in the outgoing `Connection` has reached a pause character. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onRingbackRequested(android.telecom.RemoteConnection,%20boolean)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, boolean ringback) ` Invoked when this `RemoteConnection` is requesting ringback. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onStateChanged(android.telecom.RemoteConnection,%20int)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, int state) ` Invoked when the state of this `RemoteConnection` has changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onStatusHintsChanged(android.telecom.RemoteConnection,%20android.telecom.StatusHints)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, https://developer.android.com/reference/android/telecom/StatusHints statusHints) ` Indicates that the status hints of this `RemoteConnection` have changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onVideoProviderChanged(android.telecom.RemoteConnection,%20android.telecom.RemoteConnection.VideoProvider)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider videoProvider) ` Indicates that the `VideoProvider` associated with this `RemoteConnection` has changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onVideoStateChanged(android.telecom.RemoteConnection,%20int)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, int videoState) ` Indicates that the video state of this `RemoteConnection` has changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/RemoteConnection.Callback#onVoipAudioChanged(android.telecom.RemoteConnection,%20boolean)(https://developer.android.com/reference/android/telecom/RemoteConnection connection, boolean isVoip) ` Indicates that the VOIP audio status of this `RemoteConnection` has changed. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public constructors

### Callback

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Callback ()
```

<br />

<br />

## Public methods

### onAddressChanged

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onAddressChanged (RemoteConnection connection, 
                Uri address, 
                int presentation)
```

Indicates that the address (e.g., phone number) of this `RemoteConnection` has changed. See `https://developer.android.com/reference/android/telecom/RemoteConnection#getAddress()` and `https://developer.android.com/reference/android/telecom/RemoteConnection#getAddressPresentation()`.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `address` | `Uri`: The new address of the `RemoteConnection`. <br /> |
| `presentation` | `int`: The presentation requirements for the address. See `https://developer.android.com/reference/android/telecom/TelecomManager` for valid values. <br /> |

### onCallerDisplayNameChanged

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onCallerDisplayNameChanged (RemoteConnection connection, 
                String callerDisplayName, 
                int presentation)
```

Indicates that the caller display name of this `RemoteConnection` has changed. See `https://developer.android.com/reference/android/telecom/RemoteConnection#getCallerDisplayName()` and `https://developer.android.com/reference/android/telecom/RemoteConnection#getCallerDisplayNamePresentation()`.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `callerDisplayName` | `String`: The new caller display name of the `RemoteConnection`. <br /> |
| `presentation` | `int`: The presentation requirements for the handle. See `https://developer.android.com/reference/android/telecom/TelecomManager` for valid values. <br /> |

### onConferenceChanged

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onConferenceChanged (RemoteConnection connection, 
                RemoteConference conference)
```

Indicates that the `RemoteConference` that this `RemoteConnection` is a part of has changed.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `conference` | `RemoteConference`: The `RemoteConference` of which this `RemoteConnection` is a part, which may be `null`. <br /> |

### onConferenceableConnectionsChanged

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onConferenceableConnectionsChanged (RemoteConnection connection, 
                List<RemoteConnection> conferenceableConnections)
```

Indicates that the `RemoteConnection`s with which this `RemoteConnection` may be asked to create a conference has changed.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `conferenceableConnections` | `List`: The `RemoteConnection`s with which this `RemoteConnection` may be asked to create a conference. <br /> |

### onConnectionCapabilitiesChanged

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onConnectionCapabilitiesChanged (RemoteConnection connection, 
                int connectionCapabilities)
```

Indicates that the call capabilities of this `RemoteConnection` have changed. See `https://developer.android.com/reference/android/telecom/RemoteConnection#getConnectionCapabilities()`.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `connectionCapabilities` | `int`: The new capabilities of the `RemoteConnection`. <br /> |

### onConnectionEvent

Added in [API level 25](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onConnectionEvent (RemoteConnection connection, 
                String event, 
                Bundle extras)
```

Handles a connection event propagated to this `https://developer.android.com/reference/android/telecom/RemoteConnection`.

Connection events originate from `https://developer.android.com/reference/android/telecom/Connection#sendConnectionEvent(java.lang.String,%20android.os.Bundle)`.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `event` | `String`: The connection event. <br /> |
| `extras` | `Bundle`: Extras associated with the event. <br /> |

### onConnectionPropertiesChanged

Added in [API level 25](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onConnectionPropertiesChanged (RemoteConnection connection, 
                int connectionProperties)
```

Indicates that the call properties of this `RemoteConnection` have changed. See `https://developer.android.com/reference/android/telecom/RemoteConnection#getConnectionProperties()`.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `connectionProperties` | `int`: The new properties of the `RemoteConnection`. <br /> |

### onDestroyed

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onDestroyed (RemoteConnection connection)
```

Indicates that this `RemoteConnection` has been destroyed. No further requests should be made to the `RemoteConnection`, and references to it should be cleared.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |

### onDisconnected

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onDisconnected (RemoteConnection connection, 
                DisconnectCause disconnectCause)
```

Invoked when this `RemoteConnection` is disconnected.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `disconnectCause` | `DisconnectCause`: The (`https://developer.android.com/reference/android/telecom/DisconnectCause`) associated with this failed connection. <br /> |

### onExtrasChanged

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onExtrasChanged (RemoteConnection connection, 
                Bundle extras)
```

Handles changes to the `RemoteConnection` extras.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `extras` | `Bundle`: The extras containing other information associated with the connection. This value may be `null`. <br /> |

### onPostDialChar

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onPostDialChar (RemoteConnection connection, 
                char nextChar)
```

Invoked when the post-dial sequence in the outgoing `Connection` has processed a character.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `nextChar` | `char`: The character being processed. <br /> |

### onPostDialWait

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onPostDialWait (RemoteConnection connection, 
                String remainingPostDialSequence)
```

Invoked when the post-dial sequence in the outgoing `Connection` has reached a pause character. This causes the post-dial signals to stop pending user confirmation. An implementation should present this choice to the user and invoke `https://developer.android.com/reference/android/telecom/RemoteConnection#postDialContinue(boolean)` when the user makes the choice.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `remainingPostDialSequence` | `String`: The post-dial characters that remain to be sent. <br /> |

### onRingbackRequested

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onRingbackRequested (RemoteConnection connection, 
                boolean ringback)
```

Invoked when this `RemoteConnection` is requesting ringback. See `https://developer.android.com/reference/android/telecom/RemoteConnection#isRingbackRequested()`.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `ringback` | `boolean`: Whether the `RemoteConnection` is requesting ringback. <br /> |

### onStateChanged

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onStateChanged (RemoteConnection connection, 
                int state)
```

Invoked when the state of this `RemoteConnection` has changed. See `https://developer.android.com/reference/android/telecom/RemoteConnection#getState()`.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `state` | `int`: The new state of the `RemoteConnection`. <br /> |

### onStatusHintsChanged

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onStatusHintsChanged (RemoteConnection connection, 
                StatusHints statusHints)
```

Indicates that the status hints of this `RemoteConnection` have changed. See `https://developer.android.com/reference/android/telecom/RemoteConnection#getStatusHints()` ()}.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `statusHints` | `StatusHints`: The new status hints of the `RemoteConnection`. <br /> |

### onVideoProviderChanged

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onVideoProviderChanged (RemoteConnection connection, 
                RemoteConnection.VideoProvider videoProvider)
```

Indicates that the `VideoProvider` associated with this `RemoteConnection` has changed.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `videoProvider` | `RemoteConnection.VideoProvider`: The new `VideoProvider` associated with this `RemoteConnection`. <br /> |

### onVideoStateChanged

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onVideoStateChanged (RemoteConnection connection, 
                int videoState)
```

Indicates that the video state of this `RemoteConnection` has changed. See `https://developer.android.com/reference/android/telecom/RemoteConnection#getVideoState()`.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `videoState` | `int`: The new video state of the `RemoteConnection`. <br /> |

### onVoipAudioChanged

Added in [API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void onVoipAudioChanged (RemoteConnection connection, 
                boolean isVoip)
```

Indicates that the VOIP audio status of this `RemoteConnection` has changed. See `https://developer.android.com/reference/android/telecom/RemoteConnection#isVoipAudioMode()`.

<br />

| Parameters ||
|---|---|
| `connection` | `RemoteConnection`: The `RemoteConnection` invoking this method. <br /> |
| `isVoip` | `boolean`: Whether the new audio state of the `RemoteConnection` is VOIP. <br /> |