Added in API level 23

Details

class Details
kotlin.Any
   ↳ android.telecom.Call.Details

Summary

Constants
static Int

Call supports adding participants to the call via addConferenceParticipants(java.util.List).

static Int

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

static Int

For video calls, indicates whether the outgoing video for the call can be paused using the android.telecom.VideoProfile#STATE_PAUSED VideoState.

static Int

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

static Int

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

static Int

Call can currently be put on hold or unheld.

static Int

Call supports conference call management.

static Int

Calls within a conference can be merged.

static Int

Call can be muted.

static Int

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

static Int

Call supports responding via text option.

static Int

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

static Int

Local device supports bidirectional video calling.

static Int

Local device supports receiving video.

static Int

Local device supports transmitting video.

static Int

Remote device supports bidirectional video calling.

static Int

Remote device supports receiving video.

static Int

Remote device supports transmitting video.

static Int

Call supports the deflect feature.

static Int

Call supports the hold feature.

static Int

Calls within a conference can be swapped between foreground and background.

static Int

Indicates that the call is an incoming call.

static Int

Indicates that the call is an outgoing call.

static Int

Indicates that the call is neither and incoming nor an outgoing call.

static Int

Indicates the call used Assisted Dialing.

static Int

Whether the call is currently a conference.

static Int

Connection is using cross sim technology.

static Int

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

static Int

Whether the call is associated with the work profile.

static Int

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

static Int

Indicates that the call has CDMA Enhanced Voice Privacy enabled.

static Int

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

static Int

Indicates that the call is an adhoc conference call.

static Int

When set, indicates that this Call does not actually exist locally for the ConnectionService.

static Int

The connection is using transactional call APIs.

static Int

Indicates that the call has been identified as the network as an emergency call.

static Int

Indicates that the call is an RTT call.

static Int

Indicates that the call is from a self-managed ConnectionService.

static Int

Indicates that the call is using VoIP audio mode.

static Int

Connection is using WIFI.

Public methods
open Boolean
can(capability: Int)

Whether the capabilities of this Details supports the specified capability.

open static Boolean
can(capabilities: Int, capability: Int)

Whether the supplied capabilities supports the specified capability.

open static String!
capabilitiesToString(capabilities: Int)

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

open Boolean
equals(other: Any?)

open PhoneAccountHandle!

open Int

open Int

Indicates whether the call is an incoming or outgoing call.

open Int

open String!

The display name for the caller.

open Int

open Int

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

Long

Returns the time the Call connected (i.e. became active).

open String?

Returns the name of the caller on the remote end, as derived from a android.provider.ContactsContract lookup of the call's handle.

open Uri?

open Long

Returns the time when the call was first created and added to Telecom.

open DisconnectCause!

open Bundle!

open GatewayInfo!

open Uri!

open Int

open String

open Bundle!

Int

open StatusHints!

open Int

open Boolean
hasProperty(property: Int)

Whether the properties of this Details includes the specified property.

open static Boolean
hasProperty(properties: Int, property: Int)

Whether the supplied properties includes the specified property.

open Int

open static String!
propertiesToString(properties: Int)

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

open String

Constants

CAPABILITY_ADD_PARTICIPANT

Added in API level 31
static val CAPABILITY_ADD_PARTICIPANT: Int

Call supports adding participants to the call via addConferenceParticipants(java.util.List). Once participants are added, the call becomes an adhoc conference call (PROPERTY_IS_ADHOC_CONFERENCE).

Value: 33554432

CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO

Added in API level 24
static val CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO: Int

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

Should be set when the VideoState has the VideoProfile#STATE_TX_ENABLED or VideoProfile#STATE_RX_ENABLED bits set to indicate that the connection cannot be downgraded from a video call back to a VideoState of VideoProfile#STATE_AUDIO_ONLY.

Intuitively, a call which can be downgraded to audio should also have local and remote video capabilities (see CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL and CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL).

Value: 4194304

CAPABILITY_CAN_PAUSE_VIDEO

Added in API level 23
static val CAPABILITY_CAN_PAUSE_VIDEO: Int

For video calls, indicates whether the outgoing video for the call can be paused using the android.telecom.VideoProfile#STATE_PAUSED VideoState.

Value: 1048576

CAPABILITY_CAN_PULL_CALL

Added in API level 25
static val CAPABILITY_CAN_PULL_CALL: Int

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 PROPERTY_IS_EXTERNAL_CALL is set.

An InCallService will only see calls with this capability if it has the TelecomManager#METADATA_INCLUDE_EXTERNAL_CALLS metadata set to true in its manifest.

See Connection#CAPABILITY_CAN_PULL_CALL and Connection#PROPERTY_IS_EXTERNAL_CALL.

Value: 8388608

CAPABILITY_DISCONNECT_FROM_CONFERENCE

Added in API level 23
static val CAPABILITY_DISCONNECT_FROM_CONFERENCE: Int

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

Value: 8192

CAPABILITY_HOLD

Added in API level 23
static val CAPABILITY_HOLD: Int

Call can currently be put on hold or unheld.

Value: 1

CAPABILITY_MANAGE_CONFERENCE

Added in API level 23
static val CAPABILITY_MANAGE_CONFERENCE: Int

Call supports conference call management. This capability only applies to Conference calls which can have Connections as children.

Value: 128

CAPABILITY_MERGE_CONFERENCE

Added in API level 23
static val CAPABILITY_MERGE_CONFERENCE: Int

Calls within a conference can be merged. A ConnectionService has the option to add a Conference call before the child Connections are merged. This is how CDMA-based Connections are implemented. For these unmerged Conferences, 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 Conference.

Value: 4

CAPABILITY_MUTE

Added in API level 23
static val CAPABILITY_MUTE: Int

Call can be muted.

Value: 64

CAPABILITY_REMOTE_PARTY_SUPPORTS_RTT

Added in API level 33
static val CAPABILITY_REMOTE_PARTY_SUPPORTS_RTT: Int

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

Value: 268435456

CAPABILITY_RESPOND_VIA_TEXT

Added in API level 23
static val CAPABILITY_RESPOND_VIA_TEXT: Int

Call supports responding via text option.

Value: 32

CAPABILITY_SEPARATE_FROM_CONFERENCE

Added in API level 23
static val CAPABILITY_SEPARATE_FROM_CONFERENCE: Int

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

Value: 4096

CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL

Added in API level 23
static val CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL: Int

Local device supports bidirectional video calling.

Value: 768

CAPABILITY_SUPPORTS_VT_LOCAL_RX

Added in API level 23
static val CAPABILITY_SUPPORTS_VT_LOCAL_RX: Int

Local device supports receiving video.

Value: 256

CAPABILITY_SUPPORTS_VT_LOCAL_TX

Added in API level 23
static val CAPABILITY_SUPPORTS_VT_LOCAL_TX: Int

Local device supports transmitting video.

Value: 512

CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL

Added in API level 23
static val CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL: Int

Remote device supports bidirectional video calling.

Value: 3072

CAPABILITY_SUPPORTS_VT_REMOTE_RX

Added in API level 23
static val CAPABILITY_SUPPORTS_VT_REMOTE_RX: Int

Remote device supports receiving video.

Value: 1024

CAPABILITY_SUPPORTS_VT_REMOTE_TX

Added in API level 23
static val CAPABILITY_SUPPORTS_VT_REMOTE_TX: Int

Remote device supports transmitting video.

Value: 2048

CAPABILITY_SUPPORT_DEFLECT

Added in API level 28
static val CAPABILITY_SUPPORT_DEFLECT: Int

Call supports the deflect feature.

Value: 16777216

CAPABILITY_SUPPORT_HOLD

Added in API level 23
static val CAPABILITY_SUPPORT_HOLD: Int

Call supports the hold feature.

Value: 2

CAPABILITY_SWAP_CONFERENCE

Added in API level 23
static val CAPABILITY_SWAP_CONFERENCE: Int

Calls within a conference can be swapped between foreground and background. See CAPABILITY_MERGE_CONFERENCE for additional information.

This is only intended for use by a Conference.

Value: 8

DIRECTION_INCOMING

Added in API level 29
static val DIRECTION_INCOMING: Int

Indicates that the call is an incoming call.

Value: 0

DIRECTION_OUTGOING

Added in API level 29
static val DIRECTION_OUTGOING: Int

Indicates that the call is an outgoing call.

Value: 1

DIRECTION_UNKNOWN

Added in API level 29
static val DIRECTION_UNKNOWN: Int

Indicates that the call is neither and incoming nor an outgoing call. This can be the case for calls reported directly by a ConnectionService in special cases such as call handovers.

Value: -1

PROPERTY_ASSISTED_DIALING

Added in API level 30
static val PROPERTY_ASSISTED_DIALING: Int

Indicates the call used Assisted Dialing.

Value: 512

PROPERTY_CONFERENCE

Added in API level 23
static val PROPERTY_CONFERENCE: Int

Whether the call is currently a conference.

Value: 1

PROPERTY_CROSS_SIM

Added in API level 31
static val PROPERTY_CROSS_SIM: Int

Connection is using cross sim technology.

Indicates that the Connection is using a cross sim technology which would register IMS over internet APN of default data subscription.

Value: 16384

PROPERTY_EMERGENCY_CALLBACK_MODE

Added in API level 23
static val PROPERTY_EMERGENCY_CALLBACK_MODE: Int

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

Value: 4

PROPERTY_ENTERPRISE_CALL

Added in API level 24
static val PROPERTY_ENTERPRISE_CALL: Int

Whether the call is associated with the work profile.

Value: 32

PROPERTY_GENERIC_CONFERENCE

Added in API level 23
static val PROPERTY_GENERIC_CONFERENCE: Int

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

Value: 2

PROPERTY_HAS_CDMA_VOICE_PRIVACY

Added in API level 25
static val PROPERTY_HAS_CDMA_VOICE_PRIVACY: Int

Indicates that the call has CDMA Enhanced Voice Privacy enabled.

Value: 128

PROPERTY_HIGH_DEF_AUDIO

Added in API level 23
static val PROPERTY_HIGH_DEF_AUDIO: Int

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

The underlying 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".

Value: 16

PROPERTY_IS_ADHOC_CONFERENCE

Added in API level 31
static val PROPERTY_IS_ADHOC_CONFERENCE: Int

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 addConferenceParticipants(java.util.List), TelecomManager#addNewIncomingConference(PhoneAccountHandle, Bundle), or TelecomManager#startConference(List, Bundle), rather than by merging existing call using conference(android.telecom.Call).

Value: 8192

PROPERTY_IS_EXTERNAL_CALL

Added in API level 25
static val PROPERTY_IS_EXTERNAL_CALL: Int

When set, indicates that this Call does not actually exist locally for the 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 ConnectionService with the Connection#PROPERTY_IS_EXTERNAL_CALL property set.

An InCallService will only see calls with this property if it has the TelecomManager#METADATA_INCLUDE_EXTERNAL_CALLS metadata set to true in its manifest.

See Connection#PROPERTY_IS_EXTERNAL_CALL.

Value: 64

PROPERTY_IS_TRANSACTIONAL

static val PROPERTY_IS_TRANSACTIONAL: Int

The connection is using transactional call APIs.

The underlying connection was added as a transactional call via the TelecomManager#addCall API.

Value: 32768

PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL

Added in API level 29
static val PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL: Int

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.

Value: 2048

PROPERTY_RTT

Added in API level 28
static val PROPERTY_RTT: Int

Indicates that the call is an RTT call. Use getRttCall() to get the RttCall object that is used to send and receive text.

Value: 1024

PROPERTY_SELF_MANAGED

Added in API level 26
static val PROPERTY_SELF_MANAGED: Int

Indicates that the call is from a self-managed ConnectionService.

See also Connection#PROPERTY_SELF_MANAGED

Value: 256

PROPERTY_VOIP_AUDIO_MODE

Added in API level 29
static val PROPERTY_VOIP_AUDIO_MODE: Int

Indicates that the call is using VoIP audio mode.

When this property is set, the android.media.AudioManager audio mode for this call will be android.media.AudioManager#MODE_IN_COMMUNICATION. When this property is not set, the audio mode for this call will be android.media.AudioManager#MODE_IN_CALL.

This property reflects changes made using 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).

Value: 4096

PROPERTY_WIFI

Added in API level 23
static val PROPERTY_WIFI: Int

Connection is using WIFI.

Value: 8

Public methods

can

Added in API level 23
open fun can(capability: Int): Boolean

Whether the capabilities of this Details supports the specified capability.

Parameters
capability Int: The capability to check capabilities for.
Return
Boolean Whether the specified capability is supported.

can

Added in API level 23
open static fun can(
    capabilities: Int,
    capability: Int
): Boolean

Whether the supplied capabilities supports the specified capability.

Parameters
capabilities Int: A bit field of capabilities.
capability Int: The capability to check capabilities for.
Return
Boolean Whether the specified capability is supported.

capabilitiesToString

Added in API level 23
open static fun capabilitiesToString(capabilities: Int): String!

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

Parameters
capabilities Int: A capability bit field.
Return
String! A human readable string representation.

equals

Added in API level 23
open fun equals(other: Any?): Boolean
Parameters
obj the reference object with which to compare.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

getAccountHandle

Added in API level 23
open fun getAccountHandle(): PhoneAccountHandle!
Return
PhoneAccountHandle! The PhoneAccountHandle whereby the Call is currently being routed.

getCallCapabilities

Added in API level 23
open fun getCallCapabilities(): Int
Return
Int A bitmask of the capabilities of the Call, as defined by the various CAPABILITY_* constants in this class.

getCallDirection

Added in API level 29
open fun getCallDirection(): Int

Indicates whether the call is an incoming or outgoing call.

Return
Int The call's direction. Value is android.telecom.Call.Details#DIRECTION_UNKNOWN, android.telecom.Call.Details#DIRECTION_INCOMING, or android.telecom.Call.Details#DIRECTION_OUTGOING

getCallProperties

Added in API level 23
open fun getCallProperties(): Int
Return
Int A bitmask of the properties of the Call, as defined by the various PROPERTY_* constants in this class.

getCallerDisplayName

Added in API level 23
open fun getCallerDisplayName(): String!

The display name for the caller.

This is the name as reported by the ConnectionService associated with this call.

Return
String! The display name for the caller.

getCallerDisplayNamePresentation

Added in API level 23
open fun getCallerDisplayNamePresentation(): Int
Return
Int The presentation requirements for the caller display name. See TelecomManager for valid values.

getCallerNumberVerificationStatus

Added in API level 30
open fun getCallerNumberVerificationStatus(): Int

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. 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. 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. 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 CallScreeningService can use this information to help determine if an incoming call is potentially an unwanted call. A verification status of 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, 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 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.

Return
Int the verification status. Value is android.telecom.Connection#VERIFICATION_STATUS_NOT_VERIFIED, android.telecom.Connection#VERIFICATION_STATUS_PASSED, or android.telecom.Connection#VERIFICATION_STATUS_FAILED

getConnectTimeMillis

Added in API level 23
fun getConnectTimeMillis(): Long

Returns the time the 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 getCreationTimeMillis().

Return
Long The time the Call connected in milliseconds since the epoch.

getContactDisplayName

Added in API level 30
open fun getContactDisplayName(): String?

Returns the name of the caller on the remote end, as derived from a android.provider.ContactsContract lookup of the call's handle.

Return
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 InCallService does not hold the android.Manifest.permission#READ_CONTACTS permission.

getContactPhotoUri

Added in API level 34
open fun getContactPhotoUri(): Uri?
Return
Uri? The contact photo URI which corresponds to android.provider.ContactsContract.PhoneLookup#PHOTO_URI, or null if the lookup is not yet complete, if there's no contacts entry for the caller, or if the InCallService does not hold the android.Manifest.permission#READ_CONTACTS permission.

getCreationTimeMillis

Added in API level 26
open fun getCreationTimeMillis(): Long

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 android.provider.CallLog.Calls#DATE). To determine when the call was connected (became active), see getConnectTimeMillis().

Return
Long The creation time of the call, in millis since the epoch.

getDisconnectCause

Added in API level 23
open fun getDisconnectCause(): DisconnectCause!
Return
DisconnectCause! For a STATE_DISCONNECTED Call, the disconnect cause expressed by android.telecom.DisconnectCause.

getExtras

Added in API level 23
open fun getExtras(): Bundle!
Return
Bundle! The extras associated with this call.

getGatewayInfo

Added in API level 23
open fun getGatewayInfo(): GatewayInfo!
Return
GatewayInfo! Information about any calling gateway the Call may be using.

getHandle

Added in API level 23
open fun getHandle(): Uri!
Return
Uri! The handle (e.g., phone number) to which the Call is currently connected.

getHandlePresentation

Added in API level 23
open fun getHandlePresentation(): Int
Return
Int The presentation requirements for the handle. See TelecomManager for valid values.

getId

open fun getId(): String
Return
String the Telecom identifier associated with this Call . This is not a stable identifier and is not guaranteed to be unique across device reboots. This value cannot be null.

getIntentExtras

Added in API level 23
open fun getIntentExtras(): Bundle!
Return
Bundle! The extras used with the original intent to place this call.

getStatusHints

Added in API level 23
open fun getStatusHints(): StatusHints!
Return
StatusHints! The current android.telecom.StatusHints, or null if none have been set.

getVideoState

Added in API level 23
open fun getVideoState(): Int
Return
Int The video state of the Call.

hasProperty

Added in API level 23
open fun hasProperty(property: Int): Boolean

Whether the properties of this Details includes the specified property.

Parameters
property Int: The property to check properties for.
Return
Boolean Whether the specified property is supported.

hasProperty

Added in API level 23
open static fun hasProperty(
    properties: Int,
    property: Int
): Boolean

Whether the supplied properties includes the specified property.

Parameters
properties Int: A bit field of properties.
property Int: The property to check properties for.
Return
Boolean Whether the specified property is supported.

hashCode

Added in API level 23
open fun hashCode(): Int
Return
Int a hash code value for this object.

propertiesToString

Added in API level 23
open static fun propertiesToString(properties: Int): String!

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

Parameters
properties Int: A property bit field.
Return
String! A human readable string representation.

toString

Added in API level 23
open fun toString(): String
Return
String a string representation of the object.