TelecomManager
public
class
TelecomManager
extends Object
| java.lang.Object | |
| ↳ | android.telecom.TelecomManager |
Provides access to information about active calls and registration/call-management functionality. Apps can use methods in this class to determine the current call state.
Apps do not instantiate this class directly; instead, they retrieve a reference to an instance
through Context.getSystemService(Context.TELECOM_SERVICE).
Note that access to some telecom information is permission-protected. Your app cannot access the protected information or gain access to protected functionality unless it has the appropriate permissions declared in its manifest file. Where permissions apply, they are noted in the method descriptions.
Summary
Constants | |
|---|---|
String |
ACTION_CHANGE_DEFAULT_DIALER
Activity action: Shows a dialog asking the user whether or not they want to replace the
current default Dialer with the one specified in
|
String |
ACTION_CHANGE_PHONE_ACCOUNTS
The |
String |
ACTION_CONFIGURE_PHONE_ACCOUNT
An |
String |
ACTION_DEFAULT_DIALER_CHANGED
Broadcast intent action indicating that the current default dialer has changed. |
String |
ACTION_INCOMING_CALL
This constant was deprecated
in API level O.
Use |
String |
ACTION_PHONE_ACCOUNT_REGISTERED
|
String |
ACTION_PHONE_ACCOUNT_UNREGISTERED
|
String |
ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS
The |
String |
ACTION_SHOW_CALL_SETTINGS
The |
String |
ACTION_SHOW_MISSED_CALLS_NOTIFICATION
Broadcast intent action for letting custom component know to show the missed call notification. |
String |
ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS
The |
char |
DTMF_CHARACTER_PAUSE
The dual tone multi-frequency signaling character sent to indicate the dialing system should pause for a predefined period. |
char |
DTMF_CHARACTER_WAIT
The dual-tone multi-frequency signaling character sent to indicate the dialing system should wait for user confirmation before proceeding. |
String |
EXTRA_CALL_BACK_NUMBER
The number which the party on the other side of the line will see (and use to return the call). |
String |
EXTRA_CALL_DISCONNECT_CAUSE
Optional extra for |
String |
EXTRA_CALL_DISCONNECT_MESSAGE
Optional extra for |
String |
EXTRA_CALL_SUBJECT
Optional extra for |
String |
EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME
Extra value used to provide the package name for |
String |
EXTRA_INCOMING_CALL_ADDRESS
The extra used by a |
String |
EXTRA_INCOMING_CALL_EXTRAS
Optional extra for |
String |
EXTRA_INCOMING_VIDEO_STATE
Optional extra for |
String |
EXTRA_NOTIFICATION_COUNT
The number of calls associated with the notification. |
String |
EXTRA_NOTIFICATION_PHONE_NUMBER
The number associated with the missed calls. |
String |
EXTRA_OUTGOING_CALL_EXTRAS
Optional extra for |
String |
EXTRA_PHONE_ACCOUNT_HANDLE
The extra used with an |
String |
EXTRA_START_CALL_WITH_RTT
A boolean extra, which when set on the |
String |
EXTRA_START_CALL_WITH_SPEAKERPHONE
Optional extra for |
String |
EXTRA_START_CALL_WITH_VIDEO_STATE
Optional extra for |
String |
GATEWAY_ORIGINAL_ADDRESS
An optional |
String |
GATEWAY_PROVIDER_PACKAGE
An optional |
String |
METADATA_INCLUDE_EXTERNAL_CALLS
A boolean meta-data value indicating whether an |
String |
METADATA_INCLUDE_SELF_MANAGED_CALLS
A boolean meta-data value indicating whether an |
String |
METADATA_IN_CALL_SERVICE_RINGING
A boolean meta-data value indicating whether an |
String |
METADATA_IN_CALL_SERVICE_UI
A boolean meta-data value indicating whether an |
int |
PRESENTATION_ALLOWED
Indicates that the address or number of a call is allowed to be displayed for caller ID. |
int |
PRESENTATION_PAYPHONE
Indicates that the address or number of a call belongs to a pay phone. |
int |
PRESENTATION_RESTRICTED
Indicates that the address or number of a call is blocked by the other party. |
int |
PRESENTATION_UNKNOWN
Indicates that the address or number of a call is not specified or known by the carrier. |
Public methods | |
|---|---|
void
|
acceptRingingCall(int videoState)
If there is a ringing incoming call, this method accepts the call on behalf of the user, with the specified video state. |
void
|
acceptRingingCall()
If there is a ringing incoming call, this method accepts the call on behalf of the user. |
void
|
addNewIncomingCall(PhoneAccountHandle phoneAccount, Bundle extras)
Registers a new incoming call. |
void
|
cancelMissedCallsNotification()
Removes the missed-call notification if one is present. |
Intent
|
createManageBlockedNumbersIntent()
Creates the |
Uri
|
getAdnUriForPhoneAccount(PhoneAccountHandle accountHandle)
Requires permission: |
List<PhoneAccountHandle>
|
getCallCapablePhoneAccounts()
Returns a list of |
String
|
getDefaultDialerPackage()
Used to determine the currently selected default dialer package. |
PhoneAccountHandle
|
getDefaultOutgoingPhoneAccount(String uriScheme)
Return the |
String
|
getLine1Number(PhoneAccountHandle accountHandle)
Return the line 1 phone number for given phone account. |
PhoneAccount
|
getPhoneAccount(PhoneAccountHandle account)
Return the |
List<PhoneAccountHandle>
|
getSelfManagedPhoneAccounts()
Returns a list of |
PhoneAccountHandle
|
getSimCallManager()
Returns the current SIM call manager. |
String
|
getVoiceMailNumber(PhoneAccountHandle accountHandle)
Return the voicemail number for a given phone account. |
boolean
|
handleMmi(String dialString)
Processes the specified dial string as an MMI code. |
boolean
|
handleMmi(String dialString, PhoneAccountHandle accountHandle)
Processes the specified dial string as an MMI code. |
boolean
|
isInCall()
Returns whether there is an ongoing phone call (can be in dialing, ringing, active or holding
states) originating from either a manager or self-managed |
boolean
|
isInManagedCall()
Returns whether there is an ongoing call originating from a managed
|
boolean
|
isIncomingCallPermitted(PhoneAccountHandle phoneAccountHandle)
Determines whether Telecom would permit an incoming call to be added via the
|
boolean
|
isOutgoingCallPermitted(PhoneAccountHandle phoneAccountHandle)
Determines whether Telecom would permit an outgoing call to be placed via the
|
boolean
|
isVoiceMailNumber(PhoneAccountHandle accountHandle, String number)
Return whether a given phone number is the configured voicemail number for a particular phone account. |
void
|
placeCall(Uri address, Bundle extras)
Places a new outgoing call to the provided address using the system telecom service with the specified extras. |
void
|
registerPhoneAccount(PhoneAccount account)
Register a |
void
|
showInCallScreen(boolean showDialpad)
Brings the in-call screen to the foreground if there is an ongoing call. |
void
|
silenceRinger()
Silences the ringer if a ringing call exists. |
void
|
unregisterPhoneAccount(PhoneAccountHandle accountHandle)
Remove a |
Inherited methods | |
|---|---|
java.lang.Object
| |
Constants
ACTION_CHANGE_DEFAULT_DIALER
String ACTION_CHANGE_DEFAULT_DIALER
Activity action: Shows a dialog asking the user whether or not they want to replace the
current default Dialer with the one specified in
EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME.
Usage example:
Intent intent = new Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER);
intent.putExtra(TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME,
getActivity().getPackageName());
startActivity(intent);
Constant Value: "android.telecom.action.CHANGE_DEFAULT_DIALER"
ACTION_CHANGE_PHONE_ACCOUNTS
String ACTION_CHANGE_PHONE_ACCOUNTS
The Intent action used to show the settings page used to configure
PhoneAccount preferences.
Constant Value: "android.telecom.action.CHANGE_PHONE_ACCOUNTS"
ACTION_CONFIGURE_PHONE_ACCOUNT
String ACTION_CONFIGURE_PHONE_ACCOUNT
An Intent action sent by the telecom framework to start a
configuration dialog for a registered PhoneAccount. There is no default dialog
and each app that registers a PhoneAccount should provide one if desired.
A user can access the list of enabled PhoneAccounts through the Phone
app's settings menu. For each entry, the settings app will add a click action. When
triggered, the click-action will start this intent along with the extra
EXTRA_PHONE_ACCOUNT_HANDLE to indicate the PhoneAccount to configure. If the
PhoneAccount package does not register an Activity for this
intent, then it will not be sent.
Constant Value: "android.telecom.action.CONFIGURE_PHONE_ACCOUNT"
ACTION_DEFAULT_DIALER_CHANGED
String ACTION_DEFAULT_DIALER_CHANGED
Broadcast intent action indicating that the current default dialer has changed.
The string extra EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME will contain the
name of the package that the default dialer was changed to.
See also:
Constant Value: "android.telecom.action.DEFAULT_DIALER_CHANGED"
ACTION_INCOMING_CALL
String ACTION_INCOMING_CALL
This constant was deprecated
in API level O.
Use addNewIncomingCall(PhoneAccountHandle, Bundle) instead.
Activity action: Starts the UI for handing an incoming call. This intent starts the in-call
UI by notifying the Telecom system that an incoming call exists for a specific call service
(see ConnectionService). Telecom reads the Intent extras to find
and bind to the appropriate ConnectionService which Telecom will
ultimately use to control and get information about the call.
Input: get*Extra field EXTRA_PHONE_ACCOUNT_HANDLE contains the component name of the
ConnectionService that Telecom should bind to. Telecom will then
ask the connection service for more information about the call prior to showing any UI.
Constant Value: "android.telecom.action.INCOMING_CALL"
ACTION_PHONE_ACCOUNT_REGISTERED
String ACTION_PHONE_ACCOUNT_REGISTERED
Intent action used indicate that a new phone account was just
registered.
The Intent extras will contain EXTRA_PHONE_ACCOUNT_HANDLE
to indicate which PhoneAccount was registered.
Will only be sent to the default dialer app (see getDefaultDialerPackage()).
Constant Value: "android.telecom.action.PHONE_ACCOUNT_REGISTERED"
ACTION_PHONE_ACCOUNT_UNREGISTERED
String ACTION_PHONE_ACCOUNT_UNREGISTERED
Intent action used indicate that a phone account was just
unregistered.
The Intent extras will contain EXTRA_PHONE_ACCOUNT_HANDLE
to indicate which PhoneAccount was unregistered.
Will only be sent to the default dialer app (see getDefaultDialerPackage()).
Constant Value: "android.telecom.action.PHONE_ACCOUNT_UNREGISTERED"
ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS
String ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS
The Intent action used to show the call accessibility settings page.
Constant Value: "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS"
ACTION_SHOW_CALL_SETTINGS
String ACTION_SHOW_CALL_SETTINGS
The Intent action used to show the call settings page.
Constant Value: "android.telecom.action.SHOW_CALL_SETTINGS"
ACTION_SHOW_MISSED_CALLS_NOTIFICATION
String ACTION_SHOW_MISSED_CALLS_NOTIFICATION
Broadcast intent action for letting custom component know to show the missed call notification. If no custom component exists then this is sent to the default dialer which should post a missed-call notification.
Constant Value: "android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION"
ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS
String ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS
The Intent action used to show the respond via SMS settings page.
Constant Value: "android.telecom.action.SHOW_RESPOND_VIA_SMS_SETTINGS"
DTMF_CHARACTER_PAUSE
char DTMF_CHARACTER_PAUSE
The dual tone multi-frequency signaling character sent to indicate the dialing system should pause for a predefined period.
Constant Value: 44 (0x0000002c)
DTMF_CHARACTER_WAIT
char DTMF_CHARACTER_WAIT
The dual-tone multi-frequency signaling character sent to indicate the dialing system should wait for user confirmation before proceeding.
Constant Value: 59 (0x0000003b)
EXTRA_CALL_BACK_NUMBER
String EXTRA_CALL_BACK_NUMBER
The number which the party on the other side of the line will see (and use to return the call).
ConnectionServices which interact with RemoteConnections should only populate
this if the getLine1Number() value, as that is the
user's expected caller ID.
Constant Value: "android.telecom.extra.CALL_BACK_NUMBER"
EXTRA_CALL_DISCONNECT_CAUSE
String EXTRA_CALL_DISCONNECT_CAUSE
Optional extra for ACTION_PHONE_STATE_CHANGED
containing the disconnect code.
Constant Value: "android.telecom.extra.CALL_DISCONNECT_CAUSE"
EXTRA_CALL_DISCONNECT_MESSAGE
String EXTRA_CALL_DISCONNECT_MESSAGE
Optional extra for ACTION_PHONE_STATE_CHANGED
containing the disconnect message.
Constant Value: "android.telecom.extra.CALL_DISCONNECT_MESSAGE"
EXTRA_CALL_SUBJECT
String EXTRA_CALL_SUBJECT
Optional extra for ACTION_CALL containing a string call
subject which will be associated with an outgoing call. Should only be specified if the
PhoneAccount supports the capability CAPABILITY_CALL_SUBJECT.
Constant Value: "android.telecom.extra.CALL_SUBJECT"
EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME
String EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME
Extra value used to provide the package name for ACTION_CHANGE_DEFAULT_DIALER.
Constant Value: "android.telecom.extra.CHANGE_DEFAULT_DIALER_PACKAGE_NAME"
EXTRA_INCOMING_CALL_ADDRESS
String EXTRA_INCOMING_CALL_ADDRESS
The extra used by a ConnectionService to provide the handle of the caller that
has initiated a new incoming call.
Constant Value: "android.telecom.extra.INCOMING_CALL_ADDRESS"
EXTRA_INCOMING_CALL_EXTRAS
String EXTRA_INCOMING_CALL_EXTRAS
Optional extra for ACTION_INCOMING_CALL containing a Bundle which contains
metadata about the call. This Bundle will be returned to the
ConnectionService.
Constant Value: "android.telecom.extra.INCOMING_CALL_EXTRAS"
EXTRA_INCOMING_VIDEO_STATE
String EXTRA_INCOMING_VIDEO_STATE
Optional extra for addNewIncomingCall(PhoneAccountHandle, Bundle) containing an
integer that determines the requested video state for an incoming call.
Valid options:
STATE_AUDIO_ONLY,
STATE_BIDIRECTIONAL,
STATE_RX_ENABLED,
STATE_TX_ENABLED.
Constant Value: "android.telecom.extra.INCOMING_VIDEO_STATE"
EXTRA_NOTIFICATION_COUNT
String EXTRA_NOTIFICATION_COUNT
The number of calls associated with the notification. If the number is zero then the missed call notification should be dismissed.
Constant Value: "android.telecom.extra.NOTIFICATION_COUNT"
EXTRA_NOTIFICATION_PHONE_NUMBER
String EXTRA_NOTIFICATION_PHONE_NUMBER
The number associated with the missed calls. This number is only relevant when EXTRA_NOTIFICATION_COUNT is 1.
Constant Value: "android.telecom.extra.NOTIFICATION_PHONE_NUMBER"
EXTRA_OUTGOING_CALL_EXTRAS
String EXTRA_OUTGOING_CALL_EXTRAS
Optional extra for ACTION_CALL and
ACTION_DIAL Intent containing a Bundle
which contains metadata about the call. This Bundle will be saved into
Call.Details and passed to the ConnectionService when placing the call.
Constant Value: "android.telecom.extra.OUTGOING_CALL_EXTRAS"
EXTRA_PHONE_ACCOUNT_HANDLE
String EXTRA_PHONE_ACCOUNT_HANDLE
The extra used with an ACTION_CALL and
ACTION_DIAL Intent to specify a
PhoneAccountHandle to use when making the call.
Retrieve with getParcelableExtra(String).
Constant Value: "android.telecom.extra.PHONE_ACCOUNT_HANDLE"
EXTRA_START_CALL_WITH_RTT
String EXTRA_START_CALL_WITH_RTT
A boolean extra, which when set on the ACTION_CALL intent or on the bundle
passed into placeCall(Uri, Bundle), indicates that the call should be initiated with
an RTT session open. See Call.RttCall for more information on RTT.
Constant Value: "android.telecom.extra.START_CALL_WITH_RTT"
EXTRA_START_CALL_WITH_SPEAKERPHONE
String EXTRA_START_CALL_WITH_SPEAKERPHONE
Optional extra for ACTION_CALL containing a boolean that
determines whether the speakerphone should be automatically turned on for an outgoing call.
Constant Value: "android.telecom.extra.START_CALL_WITH_SPEAKERPHONE"
EXTRA_START_CALL_WITH_VIDEO_STATE
String EXTRA_START_CALL_WITH_VIDEO_STATE
Optional extra for ACTION_CALL containing an integer that
determines the desired video state for an outgoing call.
Valid options:
STATE_AUDIO_ONLY,
STATE_BIDIRECTIONAL,
STATE_RX_ENABLED,
STATE_TX_ENABLED.
Constant Value: "android.telecom.extra.START_CALL_WITH_VIDEO_STATE"
GATEWAY_ORIGINAL_ADDRESS
String GATEWAY_ORIGINAL_ADDRESS
An optional ACTION_CALL intent extra corresponding to the
original address to dial for the call. This is used when an alternative gateway address is
provided to recall the original address.
The value is a Uri.
(See GATEWAY_PROVIDER_PACKAGE for details)
Constant Value: "android.telecom.extra.GATEWAY_ORIGINAL_ADDRESS"
GATEWAY_PROVIDER_PACKAGE
String GATEWAY_PROVIDER_PACKAGE
An optional ACTION_CALL intent extra denoting the
package name of the app specifying an alternative gateway for the call.
The value is a string.
(The following comment corresponds to the all GATEWAY_* extras)
An app which sends the ACTION_CALL intent can specify an
alternative address to dial which is different from the one specified and displayed to
the user. This alternative address is referred to as the gateway address.
Constant Value: "android.telecom.extra.GATEWAY_PROVIDER_PACKAGE"
METADATA_INCLUDE_EXTERNAL_CALLS
String METADATA_INCLUDE_EXTERNAL_CALLS
A boolean meta-data value indicating whether an InCallService wants to be informed of
calls which have the PROPERTY_IS_EXTERNAL_CALL property. An external
call is one which a ConnectionService knows about, but is not connected to directly.
Dialer implementations (see getDefaultDialerPackage()) which would like to be
informed of external calls should set this meta-data to true in the manifest
registration of their InCallService. By default, the InCallService will NOT
be informed of external calls.
Constant Value: "android.telecom.INCLUDE_EXTERNAL_CALLS"
METADATA_INCLUDE_SELF_MANAGED_CALLS
String METADATA_INCLUDE_SELF_MANAGED_CALLS
A boolean meta-data value indicating whether an InCallService wants to be informed of
calls which have the PROPERTY_SELF_MANAGED property. A self-managed
call is one which originates from a self-managed ConnectionService which has chosen
to implement its own call user interface. An InCallService implementation which
would like to be informed of external calls should set this meta-data to true in the
manifest registration of their InCallService. By default, the InCallService
will NOT be informed about self-managed calls.
An InCallService which receives self-managed calls is free to view and control the
state of calls in the self-managed ConnectionService. An example use-case is
exposing these calls to an automotive device via its companion app.
This meta-data can only be set for an InCallService which also sets
METADATA_IN_CALL_SERVICE_UI. Only the default phone/dialer app, or a car-mode
InCallService can see self-managed calls.
See also PROPERTY_SELF_MANAGED.
Constant Value: "android.telecom.INCLUDE_SELF_MANAGED_CALLS"
METADATA_IN_CALL_SERVICE_RINGING
String METADATA_IN_CALL_SERVICE_RINGING
A boolean meta-data value indicating whether an InCallService implements ringing.
Dialer implementations (see getDefaultDialerPackage()) which would also like to
override the system provided ringing should set this meta-data to true in the
manifest registration of their InCallService.
Constant Value: "android.telecom.IN_CALL_SERVICE_RINGING"
METADATA_IN_CALL_SERVICE_UI
String METADATA_IN_CALL_SERVICE_UI
A boolean meta-data value indicating whether an InCallService implements an
in-call user interface. Dialer implementations (see getDefaultDialerPackage()) which
would also like to replace the in-call interface should set this meta-data to true in
the manifest registration of their InCallService.
Constant Value: "android.telecom.IN_CALL_SERVICE_UI"
PRESENTATION_ALLOWED
int PRESENTATION_ALLOWED
Indicates that the address or number of a call is allowed to be displayed for caller ID.
Constant Value: 1 (0x00000001)
PRESENTATION_PAYPHONE
int PRESENTATION_PAYPHONE
Indicates that the address or number of a call belongs to a pay phone.
Constant Value: 4 (0x00000004)
PRESENTATION_RESTRICTED
int PRESENTATION_RESTRICTED
Indicates that the address or number of a call is blocked by the other party.
Constant Value: 2 (0x00000002)
PRESENTATION_UNKNOWN
int PRESENTATION_UNKNOWN
Indicates that the address or number of a call is not specified or known by the carrier.
Constant Value: 3 (0x00000003)
Public methods
acceptRingingCall
void acceptRingingCall (int videoState)
If there is a ringing incoming call, this method accepts the call on behalf of the user,
with the specified video state.
Requires permission: MODIFY_PHONE_STATE or
ANSWER_PHONE_CALLS
| Parameters | |
|---|---|
videoState |
int: The desired video state to answer the call with.
|
acceptRingingCall
void acceptRingingCall ()
If there is a ringing incoming call, this method accepts the call on behalf of the user.
If the incoming call is a video call, the call will be answered with the same video state as
the incoming call requests. This means, for example, that an incoming call requesting
STATE_BIDIRECTIONAL will be answered, accepting that state.
Requires permission: MODIFY_PHONE_STATE or
ANSWER_PHONE_CALLS
addNewIncomingCall
void addNewIncomingCall (PhoneAccountHandle phoneAccount, Bundle extras)
Registers a new incoming call. A ConnectionService should invoke this method when it
has an incoming call. For managed ConnectionServices, the specified
PhoneAccountHandle must have been registered with registerPhoneAccount(PhoneAccount) and
the user must have enabled the corresponding PhoneAccount. This can be checked using
getPhoneAccount(PhoneAccountHandle). Self-managed ConnectionServices must have
MANAGE_OWN_CALLS to add a new incoming call.
The incoming call you are adding is assumed to have a video state of
STATE_AUDIO_ONLY, unless the extra value
EXTRA_INCOMING_VIDEO_STATE is specified.
Once invoked, this method will cause the system to bind to the ConnectionService
associated with the PhoneAccountHandle and request additional information about the
call (See onCreateIncomingConnection(PhoneAccountHandle, ConnectionRequest)) before starting the incoming
call UI.
For a managed ConnectionService, a SecurityException will be thrown if either
the PhoneAccountHandle does not correspond to a registered PhoneAccount or
the associated PhoneAccount is not currently enabled by the user.
For a self-managed ConnectionService, a SecurityException will be thrown if
the PhoneAccount has CAPABILITY_SELF_MANAGED and the calling app
does not have MANAGE_OWN_CALLS.
| Parameters | |
|---|---|
phoneAccount |
PhoneAccountHandle: A PhoneAccountHandle registered with
registerPhoneAccount(PhoneAccount). |
extras |
Bundle: A bundle that will be passed through to
onCreateIncomingConnection(PhoneAccountHandle, ConnectionRequest).
|
cancelMissedCallsNotification
void cancelMissedCallsNotification ()
Removes the missed-call notification if one is present.
Requires that the method-caller be set as the system dialer app.
Requires permission:MODIFY_PHONE_STATE
createManageBlockedNumbersIntent
Intent createManageBlockedNumbersIntent ()
Creates the Intent which can be used with startActivity(Intent) to
launch the activity to manage blocked numbers.
The activity will display the UI to manage blocked numbers only if
canCurrentUserBlockNumbers(Context) returns
true for the current user.
| Returns | |
|---|---|
Intent |
|
getAdnUriForPhoneAccount
Uri getAdnUriForPhoneAccount (PhoneAccountHandle accountHandle)
Requires permission: MODIFY_PHONE_STATE
| Parameters | |
|---|---|
accountHandle |
PhoneAccountHandle: The handle for the account to derive an adn query URI for or
null to return a URI which will use the default account. |
| Returns | |
|---|---|
Uri |
The URI (with the content:// scheme) specific to the specified PhoneAccount
for the the content retrieve.
|
getCallCapablePhoneAccounts
List<PhoneAccountHandle> getCallCapablePhoneAccounts ()
Returns a list of PhoneAccountHandles which can be used to make and receive phone
calls. The returned list includes only those accounts which have been explicitly enabled
by the user.
Requires permission: READ_PHONE_STATE
| Returns | |
|---|---|
List<PhoneAccountHandle> |
A list of PhoneAccountHandle objects.
|
See also:
getDefaultDialerPackage
String getDefaultDialerPackage ()
Used to determine the currently selected default dialer package.
| Returns | |
|---|---|
String |
package name for the default dialer package or null if no package has been selected as the default dialer. |
getDefaultOutgoingPhoneAccount
PhoneAccountHandle getDefaultOutgoingPhoneAccount (String uriScheme)
Return the PhoneAccount which will be used to place outgoing calls to addresses with
the specified uriScheme. This PhoneAccount will always be a member of the
list which is returned from invoking getCallCapablePhoneAccounts(). The specific
account returned depends on the following priorities:
- If the user-selected default
PhoneAccountsupports the specified scheme, it will be returned. - If there exists only one
PhoneAccountthat supports the specified scheme, it will be returned.
If no PhoneAccount fits the criteria above, this method will return null.
Requires permission: READ_PHONE_STATE
| Parameters | |
|---|---|
uriScheme |
String: The URI scheme. |
| Returns | |
|---|---|
PhoneAccountHandle |
The PhoneAccountHandle corresponding to the account to be used.
|
getLine1Number
String getLine1Number (PhoneAccountHandle accountHandle)
Return the line 1 phone number for given phone account.
Requires permission: READ_PHONE_STATE
| Parameters | |
|---|---|
accountHandle |
PhoneAccountHandle: The handle for the account retrieve a number for. |
| Returns | |
|---|---|
String |
A string representation of the line 1 phone number. |
getPhoneAccount
PhoneAccount getPhoneAccount (PhoneAccountHandle account)
Return the PhoneAccount for a specified PhoneAccountHandle. Object includes
resources which can be used in a user interface.
| Parameters | |
|---|---|
account |
PhoneAccountHandle: The PhoneAccountHandle. |
| Returns | |
|---|---|
PhoneAccount |
The PhoneAccount object.
|
getSelfManagedPhoneAccounts
List<PhoneAccountHandle> getSelfManagedPhoneAccounts ()
Returns a list of PhoneAccountHandles for self-managed ConnectionServices.
Self-Managed ConnectionServices have a PhoneAccount with
CAPABILITY_SELF_MANAGED.
Requires permission READ_PHONE_STATE, or that the caller
is the default dialer app.
A SecurityException will be thrown if a called is not the default dialer, or lacks
the READ_PHONE_STATE permission.
| Returns | |
|---|---|
List<PhoneAccountHandle> |
A list of PhoneAccountHandle objects.
|
getSimCallManager
PhoneAccountHandle getSimCallManager ()
Returns the current SIM call manager. Apps must be prepared for this method to return
null, indicating that there currently exists no user-chosen default
PhoneAccount.
| Returns | |
|---|---|
PhoneAccountHandle |
The phone account handle of the current sim call manager. |
getVoiceMailNumber
String getVoiceMailNumber (PhoneAccountHandle accountHandle)
Return the voicemail number for a given phone account.
Requires permission: READ_PHONE_STATE
| Parameters | |
|---|---|
accountHandle |
PhoneAccountHandle: The handle for the phone account. |
| Returns | |
|---|---|
String |
The voicemail number for the phone account, and null if one has not been
configured.
|
handleMmi
boolean handleMmi (String dialString)
Processes the specified dial string as an MMI code. MMI codes are any sequence of characters entered into the dialpad that contain a "*" or "#". Some of these sequences launch special behavior through handled by Telephony. This method uses the default subscription.
Requires that the method-caller be set as the system dialer app.
Requires permission:MODIFY_PHONE_STATE
| Parameters | |
|---|---|
dialString |
String: The digits to dial. |
| Returns | |
|---|---|
boolean |
True if the digits were processed as an MMI code, false otherwise. |
handleMmi
boolean handleMmi (String dialString, PhoneAccountHandle accountHandle)
Processes the specified dial string as an MMI code. MMI codes are any sequence of characters entered into the dialpad that contain a "*" or "#". Some of these sequences launch special behavior through handled by Telephony.
Requires that the method-caller be set as the system dialer app.
Requires permission:MODIFY_PHONE_STATE
| Parameters | |
|---|---|
dialString |
String: The digits to dial. |
accountHandle |
PhoneAccountHandle: The handle for the account the MMI code should apply to. |
| Returns | |
|---|---|
boolean |
True if the digits were processed as an MMI code, false otherwise. |
isInCall
boolean isInCall ()
Returns whether there is an ongoing phone call (can be in dialing, ringing, active or holding
states) originating from either a manager or self-managed ConnectionService.
Requires permission: READ_PHONE_STATE
| Returns | |
|---|---|
boolean |
true if there is an ongoing call in either a managed or self-managed
ConnectionService, false otherwise.
|
isInManagedCall
boolean isInManagedCall ()
Returns whether there is an ongoing call originating from a managed
ConnectionService. An ongoing call can be in dialing, ringing, active or holding
states.
If you also need to know if there are ongoing self-managed calls, use isInCall()
instead.
Requires permission: READ_PHONE_STATE
| Returns | |
|---|---|
boolean |
true if there is an ongoing call in a managed ConnectionService,
false otherwise.
|
isIncomingCallPermitted
boolean isIncomingCallPermitted (PhoneAccountHandle phoneAccountHandle)
Determines whether Telecom would permit an incoming call to be added via the
addNewIncomingCall(PhoneAccountHandle, Bundle) API for the specified
PhoneAccountHandle.
A ConnectionService may not add a call for the specified PhoneAccountHandle
in the following situations:
PhoneAccountdoes not have propertyCAPABILITY_SELF_MANAGEDset (i.e. it is a managedConnectionService), and the active or held call limit has been reached.- There is an ongoing emergency call.
| Parameters | |
|---|---|
phoneAccountHandle |
PhoneAccountHandle: The PhoneAccountHandle the call will be added for. |
| Returns | |
|---|---|
boolean |
true if telecom will permit an incoming call to be added, false
otherwise.
|
isOutgoingCallPermitted
boolean isOutgoingCallPermitted (PhoneAccountHandle phoneAccountHandle)
Determines whether Telecom would permit an outgoing call to be placed via the
placeCall(Uri, Bundle) API for the specified PhoneAccountHandle.
A ConnectionService may not place a call for the specified PhoneAccountHandle
in the following situations:
PhoneAccountdoes not have propertyCAPABILITY_SELF_MANAGEDset (i.e. it is a managedConnectionService), and the active, held or ringing call limit has been reached.PhoneAccounthas propertyCAPABILITY_SELF_MANAGEDset (i.e. it is a self-managedConnectionServiceand there is an ongoing call in anotherConnectionService.- There is an ongoing emergency call.
| Parameters | |
|---|---|
phoneAccountHandle |
PhoneAccountHandle: The PhoneAccountHandle the call will be added for. |
| Returns | |
|---|---|
boolean |
true if telecom will permit an outgoing call to be placed, false
otherwise.
|
isVoiceMailNumber
boolean isVoiceMailNumber (PhoneAccountHandle accountHandle, String number)
Return whether a given phone number is the configured voicemail number for a
particular phone account.
Requires permission: READ_PHONE_STATE
| Parameters | |
|---|---|
accountHandle |
PhoneAccountHandle: The handle for the account to check the voicemail number against |
number |
String: The number to look up.
|
| Returns | |
|---|---|
boolean |
|
placeCall
void placeCall (Uri address, Bundle extras)
Places a new outgoing call to the provided address using the system telecom service with
the specified extras.
This method is equivalent to placing an outgoing call using ACTION_CALL,
except that the outgoing call will always be sent via the system telecom service. If
method-caller is either the user selected default dialer app or preloaded system dialer
app, then emergency calls will also be allowed.
Placing a call via a managed ConnectionService requires permission:
CALL_PHONE
Usage example:
Uri uri = Uri.fromParts("tel", "12345", null);
Bundle extras = new Bundle();
extras.putBoolean(TelecomManager.EXTRA_START_CALL_WITH_SPEAKERPHONE, true);
telecomManager.placeCall(uri, extras);
The following keys are supported in the supplied extras.
EXTRA_OUTGOING_CALL_EXTRASEXTRA_PHONE_ACCOUNT_HANDLEEXTRA_START_CALL_WITH_SPEAKERPHONEEXTRA_START_CALL_WITH_VIDEO_STATE
An app which implements the self-managed ConnectionService API uses
placeCall(Uri, Bundle) to inform Telecom of a new outgoing call. A self-managed
ConnectionService must include EXTRA_PHONE_ACCOUNT_HANDLE to specify its
associated PhoneAccountHandle.
Self-managed ConnectionServices require permission
MANAGE_OWN_CALLS.
| Parameters | |
|---|---|
address |
Uri: The address to make the call to. |
extras |
Bundle: Bundle of extras to use with the call.
|
registerPhoneAccount
void registerPhoneAccount (PhoneAccount account)
Register a PhoneAccount for use by the system that will be stored in Device Encrypted
storage. When registering PhoneAccounts, existing registrations will be overwritten
if the PhoneAccountHandle matches that of a PhoneAccount which is already
registered. Once registered, the PhoneAccount is listed to the user as an option
when placing calls. The user may still need to enable the PhoneAccount within
the phone app settings before the account is usable.
A SecurityException will be thrown if an app tries to register a
PhoneAccountHandle where the package name specified within
getComponentName() does not match the package name of the app.
| Parameters | |
|---|---|
account |
PhoneAccount: The complete PhoneAccount.
|
showInCallScreen
void showInCallScreen (boolean showDialpad)
Brings the in-call screen to the foreground if there is an ongoing call. If there is currently no ongoing call, then this method does nothing.
Requires that the method-caller be set as the system dialer app or have the
READ_PHONE_STATE permission.
| Parameters | |
|---|---|
showDialpad |
boolean: Brings up the in-call dialpad as part of showing the in-call screen.
|
silenceRinger
void silenceRinger ()
Silences the ringer if a ringing call exists.
Requires permission: MODIFY_PHONE_STATE
unregisterPhoneAccount
void unregisterPhoneAccount (PhoneAccountHandle accountHandle)
Remove a PhoneAccount registration from the system.
| Parameters | |
|---|---|
accountHandle |
PhoneAccountHandle: A PhoneAccountHandle for the PhoneAccount to unregister.
|
Classes
- Call
- Call.Callback
- Call.Details
- Call.RttCall
- CallAudioState
- CallScreeningService
- CallScreeningService.CallResponse
- CallScreeningService.CallResponse.Builder
- Conference
- Conferenceable
- Connection
- Connection.RttModifyStatus
- Connection.VideoProvider
- ConnectionRequest
- ConnectionService
- DisconnectCause
- GatewayInfo
- InCallService
- InCallService.VideoCall
- InCallService.VideoCall.Callback
- PhoneAccount
- PhoneAccount.Builder
- PhoneAccountHandle
- RemoteConference
- RemoteConference.Callback
- RemoteConnection
- RemoteConnection.Callback
- RemoteConnection.VideoProvider
- RemoteConnection.VideoProvider.Callback
- StatusHints
- TelecomManager
- VideoProfile
- VideoProfile.CameraCapabilities