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

# Call.Details

*** ** * ** ***


`
public
static


class
Call.Details
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

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

<br />

*** ** * ** ***

## Summary

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_ADD_PARTICIPANT` Call supports adding participants to the call via `https://developer.android.com/reference/android/telecom/Call#addConferenceParticipants(java.util.List<android.net.Uri>)`. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO` When set, prevents a video `Call` from being downgraded to an audio-only call. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_CAN_PAUSE_VIDEO` For video calls, indicates whether the outgoing video for the call can be paused using the `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_PAUSED` VideoState. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_CAN_PULL_CALL` When set for an external call, indicates that this `Call` can be pulled from a remote device to the current device. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_DISCONNECT_FROM_CONFERENCE` Call is able to be individually disconnected when in a `Conference`. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_HOLD` Call can currently be put on hold or unheld. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_MANAGE_CONFERENCE` Call supports conference call management. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_MERGE_CONFERENCE` Calls within a conference can be merged. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_MUTE` Call can be muted. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_REMOTE_PARTY_SUPPORTS_RTT` Indicates whether the remote party supports RTT or not to the UI. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_RESPOND_VIA_TEXT` Call supports responding via text option. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SEPARATE_FROM_CONFERENCE` Call is able to be separated from its parent `Conference`, if any. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL` Local device supports bidirectional video calling. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SUPPORTS_VT_LOCAL_RX` Local device supports receiving video. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SUPPORTS_VT_LOCAL_TX` Local device supports transmitting video. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL` Remote device supports bidirectional video calling. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SUPPORTS_VT_REMOTE_RX` Remote device supports receiving video. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SUPPORTS_VT_REMOTE_TX` Remote device supports transmitting video. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SUPPORT_DEFLECT` Call supports the deflect feature. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SUPPORT_HOLD` Call supports the hold feature. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SWAP_CONFERENCE` Calls within a conference can be swapped between foreground and background. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_TRANSFER` When set for a call, indicates that this `Call` can be transferred to another number. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_TRANSFER_CONSULTATIVE` When set for a call, indicates that this `Call` can be transferred to another ongoing call. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#DIRECTION_INCOMING` Indicates that the call is an incoming call. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#DIRECTION_OUTGOING` Indicates that the call is an outgoing call. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#DIRECTION_UNKNOWN` Indicates that the call is neither and incoming nor an outgoing call. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_ASSISTED_DIALING` Indicates the call used Assisted Dialing. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_CONFERENCE` Whether the call is currently a conference. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_CROSS_SIM` Connection is using cross sim technology. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_EMERGENCY_CALLBACK_MODE` Whether the call is made while the device is in emergency callback mode. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_ENTERPRISE_CALL` Whether the call is associated with the work profile. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_GENERIC_CONFERENCE` Whether the call is a generic conference, where we do not know the precise state of participants in the conference (eg. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_HAS_CDMA_VOICE_PRIVACY` Indicates that the call has CDMA Enhanced Voice Privacy enabled. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_HIGH_DEF_AUDIO` When set, the UI should indicate to the user that a call is using high definition audio. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_IS_ADHOC_CONFERENCE` Indicates that the call is an adhoc conference call. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_IS_EXTERNAL_CALL` When set, indicates that this `Call` does not actually exist locally for the `https://developer.android.com/reference/android/telecom/ConnectionService`. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_IS_TETHERED_CALL` When set, indicates that this `Call` does not actually exist locally for the `https://developer.android.com/reference/android/telecom/ConnectionService` and is being handled by a secondary device. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_IS_TRANSACTIONAL` The connection is using transactional call APIs. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL` Indicates that the call has been identified as the network as an emergency call. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_REMOTELY_HOSTED` Set by the framework to indicate that a `https://developer.android.com/reference/android/telecom/Conference` or `https://developer.android.com/reference/android/telecom/Connection` is hosted on device other than the current one. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_RTT` Indicates that the call is an RTT call. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_SELF_MANAGED` Indicates that the call is from a self-managed `https://developer.android.com/reference/android/telecom/ConnectionService`. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_VOIP_AUDIO_MODE` Indicates that the call is using VoIP audio mode. |
| `int` | `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_WIFI` Connection is using WIFI. |

| ### Public methods ||
|---|---|
| ` static boolean` | ` https://developer.android.com/reference/android/telecom/Call.Details#can(int,%20int)(int capabilities, int capability) ` Whether the supplied capabilities supports the specified capability. |
| ` boolean` | ` https://developer.android.com/reference/android/telecom/Call.Details#can(int)(int capability) ` Whether the capabilities of this `Details` supports the specified capability. |
| ` static https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/telecom/Call.Details#capabilitiesToString(int)(int capabilities) ` Render a set of capability bits (`CAPABILITY_*`) as a human readable string. |
| ` boolean` | ` https://developer.android.com/reference/android/telecom/Call.Details#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object o) ` Indicates whether some other object is "equal to" this one. |
| ` https://developer.android.com/reference/android/telecom/PhoneAccountHandle` | ` https://developer.android.com/reference/android/telecom/Call.Details#getAccountHandle()() ` |
| ` https://developer.android.com/reference/android/os/UserHandle` | ` https://developer.android.com/reference/android/telecom/Call.Details#getAssociatedUser()() ` Gets the user that originated the call |
| ` int` | ` https://developer.android.com/reference/android/telecom/Call.Details#getCallCapabilities()() ` |
| ` int` | ` https://developer.android.com/reference/android/telecom/Call.Details#getCallDirection()() ` Indicates whether the call is an incoming or outgoing call. |
| ` int` | ` https://developer.android.com/reference/android/telecom/Call.Details#getCallProperties()() ` |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/telecom/Call.Details#getCallerDisplayName()() ` The display name for the caller. |
| ` int` | ` https://developer.android.com/reference/android/telecom/Call.Details#getCallerDisplayNamePresentation()() ` |
| ` int` | ` https://developer.android.com/reference/android/telecom/Call.Details#getCallerNumberVerificationStatus()() ` Gets the verification status for the phone number of an incoming call as identified in ATIS-1000082. |
| ` final long` | ` https://developer.android.com/reference/android/telecom/Call.Details#getConnectTimeMillis()() ` Returns the time the `https://developer.android.com/reference/android/telecom/Call` connected (i.e. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/telecom/Call.Details#getContactDisplayName()() ` Returns the name of the caller on the remote end, as derived from a `https://developer.android.com/reference/android/provider/ContactsContract` lookup of the call's handle. |
| ` https://developer.android.com/reference/android/net/Uri` | ` https://developer.android.com/reference/android/telecom/Call.Details#getContactPhotoUri()() ` |
| ` long` | ` https://developer.android.com/reference/android/telecom/Call.Details#getCreationTimeMillis()() ` Returns the time when the call was first created and added to Telecom. |
| ` https://developer.android.com/reference/android/telecom/DisconnectCause` | ` https://developer.android.com/reference/android/telecom/Call.Details#getDisconnectCause()() ` |
| ` https://developer.android.com/reference/android/os/Bundle` | ` https://developer.android.com/reference/android/telecom/Call.Details#getExtras()() ` |
| ` https://developer.android.com/reference/android/telecom/GatewayInfo` | ` https://developer.android.com/reference/android/telecom/Call.Details#getGatewayInfo()() ` |
| ` https://developer.android.com/reference/android/net/Uri` | ` https://developer.android.com/reference/android/telecom/Call.Details#getHandle()() ` |
| ` int` | ` https://developer.android.com/reference/android/telecom/Call.Details#getHandlePresentation()() ` |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/telecom/Call.Details#getId()() ` |
| ` https://developer.android.com/reference/android/os/Bundle` | ` https://developer.android.com/reference/android/telecom/Call.Details#getIntentExtras()() ` |
| ` final int` | ` https://developer.android.com/reference/android/telecom/Call.Details#getState()() ` |
| ` https://developer.android.com/reference/android/telecom/StatusHints` | ` https://developer.android.com/reference/android/telecom/Call.Details#getStatusHints()() ` |
| ` int` | ` https://developer.android.com/reference/android/telecom/Call.Details#getVideoState()() ` |
| ` boolean` | ` https://developer.android.com/reference/android/telecom/Call.Details#hasProperty(int)(int property) ` Whether the properties of this `Details` includes the specified property. |
| ` static boolean` | ` https://developer.android.com/reference/android/telecom/Call.Details#hasProperty(int,%20int)(int properties, int property) ` Whether the supplied properties includes the specified property. |
| ` int` | ` https://developer.android.com/reference/android/telecom/Call.Details#hashCode()() ` Returns a hash code value for the object. |
| ` static https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/telecom/Call.Details#propertiesToString(int)(int properties) ` Render a set of property bits (`PROPERTY_*`) as a human readable string. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/telecom/Call.Details#toString()() ` Returns a string representation of the object. |

### 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*.


## Constants

### CAPABILITY_ADD_PARTICIPANT

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

```
public static final int CAPABILITY_ADD_PARTICIPANT
```

Call supports adding participants to the call via
`https://developer.android.com/reference/android/telecom/Call#addConferenceParticipants(java.util.List<android.net.Uri>)`. Once participants are added, the call becomes
an adhoc conference call (`https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_IS_ADHOC_CONFERENCE`).

<br />

Constant Value:

33554432
(0x02000000)


### CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO

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

```
public static final int CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO
```

When set, prevents a video `Call` from being downgraded to an audio-only call.


Should be set when the VideoState has the `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_TX_ENABLED` or
`https://developer.android.com/reference/android/telecom/VideoProfile#STATE_RX_ENABLED` bits set to indicate that the connection cannot be
downgraded from a video call back to a VideoState of
`https://developer.android.com/reference/android/telecom/VideoProfile#STATE_AUDIO_ONLY`.


Intuitively, a call which can be downgraded to audio should also have local and remote
video
capabilities (see `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL` and
`https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL`).

<br />

Constant Value:

4194304
(0x00400000)


### CAPABILITY_CAN_PAUSE_VIDEO

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

```
public static final int CAPABILITY_CAN_PAUSE_VIDEO
```

For video calls, indicates whether the outgoing video for the call can be paused using
the `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_PAUSED` VideoState.

<br />

Constant Value:

1048576
(0x00100000)


### CAPABILITY_CAN_PULL_CALL

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

```
public static final int CAPABILITY_CAN_PULL_CALL
```

When set for an external call, indicates that this `Call` can be pulled from a
remote device to the current device.


Should only be set on a `Call` where `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_IS_EXTERNAL_CALL` is set.


An `https://developer.android.com/reference/android/telecom/InCallService` will only see calls with this capability if it has the
`https://developer.android.com/reference/android/telecom/TelecomManager#METADATA_INCLUDE_EXTERNAL_CALLS` metadata set to `true`
in its manifest.


See `https://developer.android.com/reference/android/telecom/Connection#CAPABILITY_CAN_PULL_CALL` and
`https://developer.android.com/reference/android/telecom/Connection#PROPERTY_IS_EXTERNAL_CALL`.

<br />

Constant Value:

8388608
(0x00800000)


### CAPABILITY_DISCONNECT_FROM_CONFERENCE

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

```
public static final int CAPABILITY_DISCONNECT_FROM_CONFERENCE
```

Call is able to be individually disconnected when in a `Conference`.

<br />

Constant Value:

8192
(0x00002000)


### CAPABILITY_HOLD

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

```
public static final int CAPABILITY_HOLD
```

Call can currently be put on hold or unheld.

<br />

Constant Value:

1
(0x00000001)


### CAPABILITY_MANAGE_CONFERENCE

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

```
public static final int CAPABILITY_MANAGE_CONFERENCE
```

Call supports conference call management. This capability only applies to `https://developer.android.com/reference/android/telecom/Conference`
calls which can have `https://developer.android.com/reference/android/telecom/Connection`s as children.

<br />

Constant Value:

128
(0x00000080)


### CAPABILITY_MERGE_CONFERENCE

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

```
public static final int CAPABILITY_MERGE_CONFERENCE
```

Calls within a conference can be merged. A `https://developer.android.com/reference/android/telecom/ConnectionService` has the option to
add a `https://developer.android.com/reference/android/telecom/Conference` call before the child `https://developer.android.com/reference/android/telecom/Connection`s are merged. This is how
CDMA-based `https://developer.android.com/reference/android/telecom/Connection`s are implemented. For these unmerged `https://developer.android.com/reference/android/telecom/Conference`s, this
capability allows a merge button to be shown while the conference call is in the foreground
of the in-call UI.


This is only intended for use by a `https://developer.android.com/reference/android/telecom/Conference`.

<br />

Constant Value:

4
(0x00000004)


### CAPABILITY_MUTE

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

```
public static final int CAPABILITY_MUTE
```

Call can be muted.

<br />

Constant Value:

64
(0x00000040)


### CAPABILITY_REMOTE_PARTY_SUPPORTS_RTT

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

```
public static final int CAPABILITY_REMOTE_PARTY_SUPPORTS_RTT
```

Indicates whether the remote party supports RTT or not to the UI.

<br />

Constant Value:

268435456
(0x10000000)


### CAPABILITY_RESPOND_VIA_TEXT

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

```
public static final int CAPABILITY_RESPOND_VIA_TEXT
```

Call supports responding via text option.

<br />

Constant Value:

32
(0x00000020)


### CAPABILITY_SEPARATE_FROM_CONFERENCE

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

```
public static final int CAPABILITY_SEPARATE_FROM_CONFERENCE
```

Call is able to be separated from its parent `Conference`, if any.

<br />

Constant Value:

4096
(0x00001000)


### CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL

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

```
public static final int CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL
```

Local device supports bidirectional video calling.

<br />

Constant Value:

768
(0x00000300)


### CAPABILITY_SUPPORTS_VT_LOCAL_RX

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

```
public static final int CAPABILITY_SUPPORTS_VT_LOCAL_RX
```

Local device supports receiving video.

<br />

Constant Value:

256
(0x00000100)


### CAPABILITY_SUPPORTS_VT_LOCAL_TX

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

```
public static final int CAPABILITY_SUPPORTS_VT_LOCAL_TX
```

Local device supports transmitting video.

<br />

Constant Value:

512
(0x00000200)


### CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL

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

```
public static final int CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL
```

Remote device supports bidirectional video calling.

<br />

Constant Value:

3072
(0x00000c00)


### CAPABILITY_SUPPORTS_VT_REMOTE_RX

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

```
public static final int CAPABILITY_SUPPORTS_VT_REMOTE_RX
```

Remote device supports receiving video.

<br />

Constant Value:

1024
(0x00000400)


### CAPABILITY_SUPPORTS_VT_REMOTE_TX

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

```
public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX
```

Remote device supports transmitting video.

<br />

Constant Value:

2048
(0x00000800)


### CAPABILITY_SUPPORT_DEFLECT

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

```
public static final int CAPABILITY_SUPPORT_DEFLECT
```

Call supports the deflect feature.

<br />

Constant Value:

16777216
(0x01000000)


### CAPABILITY_SUPPORT_HOLD

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

```
public static final int CAPABILITY_SUPPORT_HOLD
```

Call supports the hold feature.

<br />

Constant Value:

2
(0x00000002)


### CAPABILITY_SWAP_CONFERENCE

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

```
public static final int CAPABILITY_SWAP_CONFERENCE
```

Calls within a conference can be swapped between foreground and background.
See `https://developer.android.com/reference/android/telecom/Call.Details#CAPABILITY_MERGE_CONFERENCE` for additional information.


This is only intended for use by a `https://developer.android.com/reference/android/telecom/Conference`.

<br />

Constant Value:

8
(0x00000008)


### CAPABILITY_TRANSFER

Added in [version 37.1](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final int CAPABILITY_TRANSFER
```

When set for a call, indicates that this `Call` can be transferred to another
number.
Call supports the confirmed and unconfirmed call transfer feature.
See 3GPP TS 24.629 for more details.

<br />

Constant Value:

67108864
(0x04000000)


### CAPABILITY_TRANSFER_CONSULTATIVE

Added in [version 37.1](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final int CAPABILITY_TRANSFER_CONSULTATIVE
```

When set for a call, indicates that this `Call` can be transferred to another
ongoing call.
Call supports the consultative call transfer feature.
See 3GPP TS 24.629 for more details.

<br />

Constant Value:

134217728
(0x08000000)


### DIRECTION_INCOMING

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

```
public static final int DIRECTION_INCOMING
```

Indicates that the call is an incoming call.

<br />

Constant Value:

0
(0x00000000)


### DIRECTION_OUTGOING

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

```
public static final int DIRECTION_OUTGOING
```

Indicates that the call is an outgoing call.

<br />

Constant Value:

1
(0x00000001)


### DIRECTION_UNKNOWN

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

```
public static final int DIRECTION_UNKNOWN
```

Indicates that the call is neither and incoming nor an outgoing call. This can be the
case for calls reported directly by a `https://developer.android.com/reference/android/telecom/ConnectionService` in special cases such as
call handovers.

<br />

Constant Value:

-1
(0xffffffff)


### PROPERTY_ASSISTED_DIALING

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

```
public static final int PROPERTY_ASSISTED_DIALING
```

Indicates the call used Assisted Dialing.

<br />

**See also:**

- `https://developer.android.com/reference/android/telecom/TelecomManager#EXTRA_USE_ASSISTED_DIALING`

Constant Value:

512
(0x00000200)


### PROPERTY_CONFERENCE

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

```
public static final int PROPERTY_CONFERENCE
```

Whether the call is currently a conference.

<br />

Constant Value:

1
(0x00000001)


### PROPERTY_CROSS_SIM

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

```
public static final int PROPERTY_CROSS_SIM
```

Connection is using cross sim technology.


Indicates that the `https://developer.android.com/reference/android/telecom/Connection` is using a cross sim technology which would
register IMS over internet APN of default data subscription.

<br />

<br />

Constant Value:

16384
(0x00004000)


### PROPERTY_EMERGENCY_CALLBACK_MODE

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

```
public static final int PROPERTY_EMERGENCY_CALLBACK_MODE
```

Whether the call is made while the device is in emergency callback mode.

<br />

Constant Value:

4
(0x00000004)


### PROPERTY_ENTERPRISE_CALL

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

```
public static final int PROPERTY_ENTERPRISE_CALL
```

Whether the call is associated with the work profile.

<br />

Constant Value:

32
(0x00000020)


### PROPERTY_GENERIC_CONFERENCE

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

```
public static final int PROPERTY_GENERIC_CONFERENCE
```

Whether the call is a generic conference, where we do not know the precise state of
participants in the conference (eg. on CDMA).

<br />

Constant Value:

2
(0x00000002)


### PROPERTY_HAS_CDMA_VOICE_PRIVACY

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

```
public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY
```

Indicates that the call has CDMA Enhanced Voice Privacy enabled.

<br />

Constant Value:

128
(0x00000080)


### PROPERTY_HIGH_DEF_AUDIO

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

```
public static final int PROPERTY_HIGH_DEF_AUDIO
```

When set, the UI should indicate to the user that a call is using high definition
audio.


The underlying `https://developer.android.com/reference/android/telecom/ConnectionService` is responsible for reporting this
property. It is important to note that this property is not intended to report the
actual audio codec being used for a Call, but whether the call should be indicated
to the user as high definition.


The Android Telephony stack reports this property for calls based on a number
of factors, including which audio codec is used and whether a call is using an HD
codec end-to-end. Some mobile operators choose to suppress display of an HD indication,
and in these cases this property will not be set for a call even if the underlying audio
codec is in fact "high definition".

<br />

Constant Value:

16
(0x00000010)


### PROPERTY_IS_ADHOC_CONFERENCE

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

```
public static final int PROPERTY_IS_ADHOC_CONFERENCE
```

Indicates that the call is an adhoc conference call. This property can be set for both
incoming and outgoing calls. An adhoc conference call is formed using
`https://developer.android.com/reference/android/telecom/Call#addConferenceParticipants(java.util.List<android.net.Uri>)`,
`https://developer.android.com/reference/android/telecom/TelecomManager#addNewIncomingConference(android.telecom.PhoneAccountHandle,%20android.os.Bundle)`, or
`https://developer.android.com/reference/android/telecom/TelecomManager#startConference(java.util.List<android.net.Uri>,%20android.os.Bundle)`, rather than by merging existing
call using `https://developer.android.com/reference/android/telecom/Call#conference(android.telecom.Call)`.

<br />

Constant Value:

8192
(0x00002000)


### PROPERTY_IS_EXTERNAL_CALL

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

```
public static final int PROPERTY_IS_EXTERNAL_CALL
```

When set, indicates that this `Call` does not actually exist locally for the
`https://developer.android.com/reference/android/telecom/ConnectionService`.


Consider, for example, a scenario where a user has two phones with the same phone number.
When a user places a call on one device, the telephony stack can represent that call on
the other device by adding it to the `https://developer.android.com/reference/android/telecom/ConnectionService` with the
`https://developer.android.com/reference/android/telecom/Connection#PROPERTY_IS_EXTERNAL_CALL` property set.


An `https://developer.android.com/reference/android/telecom/InCallService` will only see calls with this property if it has the
`https://developer.android.com/reference/android/telecom/TelecomManager#METADATA_INCLUDE_EXTERNAL_CALLS` metadata set to `true`
in its manifest.


See `https://developer.android.com/reference/android/telecom/Connection#PROPERTY_IS_EXTERNAL_CALL`.

<br />

Constant Value:

64
(0x00000040)


### PROPERTY_IS_TETHERED_CALL

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final int PROPERTY_IS_TETHERED_CALL
```

When set, indicates that this `Call` does not actually exist locally for the `https://developer.android.com/reference/android/telecom/ConnectionService` and is being handled by a secondary device.


Consider, for example, a scenario where a user has a watch paired with a phone. When a
user places a call on the phone, the telephony stack on the watch can represent that
call by adding it to the `https://developer.android.com/reference/android/telecom/ConnectionService` with the
`https://developer.android.com/reference/android/telecom/Connection#PROPERTY_IS_TETHERED_CALL` property set.


When this property is set, the Telecom framework manages local audio focus to pause local
media streams during an active call, as if that call was local. If the call does not
possess this property but does have `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_IS_EXTERNAL_CALL`, local voice
audio modes (e.g., `https://developer.android.com/reference/android/media/AudioManager#MODE_IN_CALL`) and speaker routing
adjustments are bypassed.


This property cannot be set for calls with `https://developer.android.com/reference/android/telecom/Call.Details#PROPERTY_SELF_MANAGED` also set.


See `https://developer.android.com/reference/android/telecom/Connection#PROPERTY_IS_TETHERED_CALL`.

<br />

Constant Value:

131072
(0x00020000)


### PROPERTY_IS_TRANSACTIONAL

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

```
public static final int PROPERTY_IS_TRANSACTIONAL
```

The connection is using transactional call APIs.


The underlying connection was added as a transactional call via the
`https://developer.android.com/reference/android/telecom/TelecomManager#addCall(android.telecom.CallAttributes,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.telecom.CallControl,android.telecom.CallException>,%20android.telecom.CallControlCallback,%20android.telecom.CallEventCallback)` API.

<br />

Constant Value:

32768
(0x00008000)


### PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL

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

```
public static final int PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL
```

Indicates that the call has been identified as the network as an emergency call. This
property may be set for both incoming and outgoing calls which the network identifies as
emergency calls.

<br />

Constant Value:

2048
(0x00000800)


### PROPERTY_REMOTELY_HOSTED

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

```
public static final int PROPERTY_REMOTELY_HOSTED
```

Set by the framework to indicate that a `https://developer.android.com/reference/android/telecom/Conference` or `https://developer.android.com/reference/android/telecom/Connection` is
hosted on device other than the current one. Used in scenarios where the conference
originator is the remote device and the current device is a participant of that
conference.


This property is specific to IMS conference calls originating in Telephony.

<br />

Constant Value:

65536
(0x00010000)


### PROPERTY_RTT

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

```
public static final int PROPERTY_RTT
```

Indicates that the call is an RTT call. Use `https://developer.android.com/reference/android/telecom/Call#getRttCall()` to get the
`https://developer.android.com/reference/android/telecom/Call.RttCall` object that is used to send and receive text.

<br />

Constant Value:

1024
(0x00000400)


### PROPERTY_SELF_MANAGED

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

```
public static final int PROPERTY_SELF_MANAGED
```

Indicates that the call is from a self-managed `https://developer.android.com/reference/android/telecom/ConnectionService`.


See also `https://developer.android.com/reference/android/telecom/Connection#PROPERTY_SELF_MANAGED`

<br />

Constant Value:

256
(0x00000100)


### PROPERTY_VOIP_AUDIO_MODE

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

```
public static final int PROPERTY_VOIP_AUDIO_MODE
```

Indicates that the call is using VoIP audio mode.


When this property is set, the `https://developer.android.com/reference/android/media/AudioManager` audio mode for this
call will be `https://developer.android.com/reference/android/media/AudioManager#MODE_IN_COMMUNICATION`. When this
property is not set, the audio mode for this call will be
`https://developer.android.com/reference/android/media/AudioManager#MODE_IN_CALL`.


This property reflects changes made using `https://developer.android.com/reference/android/telecom/Connection#setAudioModeIsVoip(boolean)`.


You can use this property to determine whether an un-answered incoming call or a held
call will use VoIP audio mode (if the call does not currently have focus, the system
audio mode may not reflect the mode the call will use).

<br />

Constant Value:

4096
(0x00001000)


### PROPERTY_WIFI

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

```
public static final int PROPERTY_WIFI
```

Connection is using WIFI.

<br />

Constant Value:

8
(0x00000008)


## Public methods

### can

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

```
public static boolean can (int capabilities, 
                int capability)
```

Whether the supplied capabilities supports the specified capability.

<br />

| Parameters ||
|---|---|
| `capabilities` | `int`: A bit field of capabilities. <br /> |
| `capability` | `int`: The capability to check capabilities for. <br /> |

| Returns ||
|---|---|
| `boolean` | Whether the specified capability is supported. <br /> |

### can

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

```
public boolean can (int capability)
```

Whether the capabilities of this `Details` supports the specified capability.

<br />

| Parameters ||
|---|---|
| `capability` | `int`: The capability to check capabilities for. <br /> |

| Returns ||
|---|---|
| `boolean` | Whether the specified capability is supported. <br /> |

### capabilitiesToString

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

```
public static String capabilitiesToString (int capabilities)
```

Render a set of capability bits (`CAPABILITY_*`) as a human readable string.

<br />

| Parameters ||
|---|---|
| `capabilities` | `int`: A capability bit field. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | A human readable string representation. <br /> |

### equals

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

```
public boolean equals (Object o)
```

Indicates whether some other object is "equal to" this one.


The `equals` method implements an equivalence relation
on non-null object references:

- It is *reflexive*: for any non-null reference value `x`, `x.equals(x)` should return `true`.
- It is *symmetric*: for any non-null reference values `x` and `y`, `x.equals(y)` should return `true` if and only if `y.equals(x)` returns `true`.
- It is *transitive*: for any non-null reference values `x`, `y`, and `z`, if `x.equals(y)` returns `true` and `y.equals(z)` returns `true`, then `x.equals(z)` should return `true`.
- It is *consistent*: for any non-null reference values `x` and `y`, multiple invocations of `x.equals(y)` consistently return `true` or consistently return `false`, provided no information used in `equals` comparisons on the objects is modified.
- For any non-null reference value `x`, `x.equals(null)` should return `false`.


An equivalence relation partitions the elements it operates on
into *equivalence classes*; all the members of an
equivalence class are equal to each other. Members of an
equivalence class are substitutable for each other, at least
for some purposes.

<br />

| Parameters ||
|---|---|
| `o` | `Object`: the reference object with which to compare. <br /> |

| Returns ||
|---|---|
| `boolean` | `true` if this object is the same as the obj argument; `false` otherwise. <br /> |

### getAccountHandle

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

```
public PhoneAccountHandle getAccountHandle ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telecom/PhoneAccountHandle` | The `PhoneAccountHandle` whereby the `Call` is currently being routed. <br /> |

### getAssociatedUser

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

```
public UserHandle getAssociatedUser ()
```

Gets the user that originated the call

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/os/UserHandle` | The user. This value cannot be `null`. <br /> |

### getCallCapabilities

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

```
public int getCallCapabilities ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | A bitmask of the capabilities of the `Call`, as defined by the various `CAPABILITY_*` constants in this class. <br /> |

### getCallDirection

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

```
public int getCallDirection ()
```

Indicates whether the call is an incoming or outgoing call.

<br />

| Returns ||
|---|---|
| `int` | The call's direction. Value is one of the following: - `https://developer.android.com/reference/android/telecom/Call.Details#DIRECTION_UNKNOWN` - `https://developer.android.com/reference/android/telecom/Call.Details#DIRECTION_INCOMING` - `https://developer.android.com/reference/android/telecom/Call.Details#DIRECTION_OUTGOING` |

### getCallProperties

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

```
public int getCallProperties ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | A bitmask of the properties of the `Call`, as defined by the various `PROPERTY_*` constants in this class. <br /> |

### getCallerDisplayName

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

```
public String getCallerDisplayName ()
```

The display name for the caller.


This is the name as reported by the `https://developer.android.com/reference/android/telecom/ConnectionService` associated with this call.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The display name for the caller. <br /> |

### getCallerDisplayNamePresentation

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

```
public int getCallerDisplayNamePresentation ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | The presentation requirements for the caller display name. See `https://developer.android.com/reference/android/telecom/TelecomManager` for valid values. <br /> |

### getCallerNumberVerificationStatus

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

```
public int getCallerNumberVerificationStatus ()
```

Gets the verification status for the phone number of an incoming call as identified in
ATIS-1000082.


For incoming calls, the number verification status indicates whether the device was
able to verify the authenticity of the calling number using the STIR process outlined
in ATIS-1000082. `https://developer.android.com/reference/android/telecom/Connection#VERIFICATION_STATUS_NOT_VERIFIED` indicates that
the network was not able to use STIR to verify the caller's number (i.e. nothing is
known regarding the authenticity of the number.
`https://developer.android.com/reference/android/telecom/Connection#VERIFICATION_STATUS_PASSED` indicates that the network was able to
use STIR to verify the caller's number. This indicates that the network has a high
degree of confidence that the incoming call actually originated from the indicated
number. `https://developer.android.com/reference/android/telecom/Connection#VERIFICATION_STATUS_FAILED` indicates that the network's
STIR verification did not pass. This indicates that the incoming call may not
actually be from the indicated number. This could occur if, for example, the caller
is using an impersonated phone number.


A `https://developer.android.com/reference/android/telecom/CallScreeningService` can use this information to help determine if an
incoming call is potentially an unwanted call. A verification status of
`https://developer.android.com/reference/android/telecom/Connection#VERIFICATION_STATUS_FAILED` indicates that an incoming call may not
actually be from the number indicated on the call (i.e. impersonated number) and that it
should potentially be blocked. Likewise,
`https://developer.android.com/reference/android/telecom/Connection#VERIFICATION_STATUS_PASSED` can be used as a positive signal to
help clarify that the incoming call is originating from the indicated number and it
is less likely to be an undesirable call.


An `https://developer.android.com/reference/android/telecom/InCallService` can use this information to provide a visual indicator to the
user regarding the verification status of a call and to help identify calls from
potentially impersonated numbers.

<br />

| Returns ||
|---|---|
| `int` | the verification status. Value is one of the following: - `https://developer.android.com/reference/android/telecom/Connection#VERIFICATION_STATUS_NOT_VERIFIED` - `https://developer.android.com/reference/android/telecom/Connection#VERIFICATION_STATUS_PASSED` - `https://developer.android.com/reference/android/telecom/Connection#VERIFICATION_STATUS_FAILED` |

### getConnectTimeMillis

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

```
public final long getConnectTimeMillis ()
```

Returns the time the `https://developer.android.com/reference/android/telecom/Call` connected (i.e. became active). This information is
updated periodically, but user interfaces should not rely on this to display the "call
time clock". For the time when the call was first added to Telecom, see
`https://developer.android.com/reference/android/telecom/Call.Details#getCreationTimeMillis()`.

<br />

| Returns ||
|---|---|
| `long` | The time the `https://developer.android.com/reference/android/telecom/Call` connected in milliseconds since the epoch. <br /> |

### getContactDisplayName

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

```
public String getContactDisplayName ()
```

Returns the name of the caller on the remote end, as derived from a
`https://developer.android.com/reference/android/provider/ContactsContract` lookup of the call's handle.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The name of the caller, or `null` if the lookup is not yet complete, if there's no contacts entry for the caller, or if the `https://developer.android.com/reference/android/telecom/InCallService` does not hold the `https://developer.android.com/reference/android/Manifest.permission#READ_CONTACTS` permission. <br /> |

### getContactPhotoUri

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

```
public Uri getContactPhotoUri ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/Uri` | The contact photo URI which corresponds to `https://developer.android.com/reference/android/provider/ContactsContract.ContactsColumns#PHOTO_URI`, or `null` if the lookup is not yet complete, if there's no contacts entry for the caller, or if the `https://developer.android.com/reference/android/telecom/InCallService` does not hold the `https://developer.android.com/reference/android/Manifest.permission#READ_CONTACTS` permission. <br /> |

### getCreationTimeMillis

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

```
public long getCreationTimeMillis ()
```

Returns the time when the call was first created and added to Telecom. This is the same
time that is logged as the start time in the Call Log (see
`https://developer.android.com/reference/android/provider/CallLog.Calls#DATE`). To determine when the call was connected
(became active), see `https://developer.android.com/reference/android/telecom/Call.Details#getConnectTimeMillis()`.

<br />

| Returns ||
|---|---|
| `long` | The creation time of the call, in millis since the epoch. <br /> |

### getDisconnectCause

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

```
public DisconnectCause getDisconnectCause ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telecom/DisconnectCause` | For a `https://developer.android.com/reference/android/telecom/Call#STATE_DISCONNECTED` `Call`, the disconnect cause expressed by `https://developer.android.com/reference/android/telecom/DisconnectCause`. <br /> |

### getExtras

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

```
public Bundle getExtras ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/os/Bundle` | The extras associated with this call. <br /> |

### getGatewayInfo

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

```
public GatewayInfo getGatewayInfo ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telecom/GatewayInfo` | Information about any calling gateway the `Call` may be using. <br /> |

### getHandle

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

```
public Uri getHandle ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/Uri` | The handle (e.g., phone number) to which the `Call` is currently connected. <br /> |

### getHandlePresentation

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

```
public int getHandlePresentation ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | The presentation requirements for the handle. See `https://developer.android.com/reference/android/telecom/TelecomManager` for valid values. <br /> |

### getId

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

```
public String getId ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | the Telecom identifier associated with this `https://developer.android.com/reference/android/telecom/Call` . This is not a stable identifier and is not guaranteed to be unique across device reboots. This value cannot be `null`. <br /> |

### getIntentExtras

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

```
public Bundle getIntentExtras ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/os/Bundle` | The extras used with the original intent to place this call. <br /> |

### getState

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

```
public final int getState ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | the state of the `https://developer.android.com/reference/android/telecom/Call` represented by this `https://developer.android.com/reference/android/telecom/Call.Details`. Value is one of the following: - `https://developer.android.com/reference/android/telecom/Call#STATE_NEW` - `https://developer.android.com/reference/android/telecom/Call#STATE_DIALING` - `https://developer.android.com/reference/android/telecom/Call#STATE_RINGING` - `https://developer.android.com/reference/android/telecom/Call#STATE_HOLDING` - `https://developer.android.com/reference/android/telecom/Call#STATE_ACTIVE` - `https://developer.android.com/reference/android/telecom/Call#STATE_DISCONNECTED` - `https://developer.android.com/reference/android/telecom/Call#STATE_SELECT_PHONE_ACCOUNT` - `https://developer.android.com/reference/android/telecom/Call#STATE_CONNECTING` - `https://developer.android.com/reference/android/telecom/Call#STATE_DISCONNECTING` - `https://developer.android.com/reference/android/telecom/Call#STATE_PULLING_CALL` - `https://developer.android.com/reference/android/telecom/Call#STATE_AUDIO_PROCESSING` - `https://developer.android.com/reference/android/telecom/Call#STATE_SIMULATED_RINGING` |

### getStatusHints

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

```
public StatusHints getStatusHints ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telecom/StatusHints` | The current `https://developer.android.com/reference/android/telecom/StatusHints`, or `null` if none have been set. <br /> |

### getVideoState

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

```
public int getVideoState ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | The video state of the `Call`. <br /> |

### hasProperty

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

```
public boolean hasProperty (int property)
```

Whether the properties of this `Details` includes the specified property.

<br />

| Parameters ||
|---|---|
| `property` | `int`: The property to check properties for. <br /> |

| Returns ||
|---|---|
| `boolean` | Whether the specified property is supported. <br /> |

### hasProperty

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

```
public static boolean hasProperty (int properties, 
                int property)
```

Whether the supplied properties includes the specified property.

<br />

| Parameters ||
|---|---|
| `properties` | `int`: A bit field of properties. <br /> |
| `property` | `int`: The property to check properties for. <br /> |

| Returns ||
|---|---|
| `boolean` | Whether the specified property is supported. <br /> |

### hashCode

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

```
public int hashCode ()
```

Returns a hash code value for the object. This method is
supported for the benefit of hash tables such as those provided by
`https://developer.android.com/reference/java/util/HashMap`.


The general contract of `hashCode` is:

- Whenever it is invoked on the same object more than once during an execution of a Java application, the `hashCode` method must consistently return the same integer, provided no information used in `equals` comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
- If two objects are equal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce the same integer result.
- It is *not* required that if two objects are unequal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

<br />

<br />

| Returns ||
|---|---|
| `int` | a hash code value for this object. <br /> |

### propertiesToString

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

```
public static String propertiesToString (int properties)
```

Render a set of property bits (`PROPERTY_*`) as a human readable string.

<br />

| Parameters ||
|---|---|
| `properties` | `int`: A property bit field. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | A human readable string representation. <br /> |

### toString

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

```
public String toString ()
```

Returns a string representation of the object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | a string representation of the object. <br /> |