Partager via


TelecomManager.PlaceCall(Uri, Bundle) Method

Definition

Places a new outgoing call to the provided address using the system telecom service with the specified extras.

[Android.Runtime.Register("placeCall", "(Landroid/net/Uri;Landroid/os/Bundle;)V", "GetPlaceCall_Landroid_net_Uri_Landroid_os_Bundle_Handler", ApiSince=23)]
public virtual void PlaceCall (Android.Net.Uri? address, Android.OS.Bundle? extras);
[<Android.Runtime.Register("placeCall", "(Landroid/net/Uri;Landroid/os/Bundle;)V", "GetPlaceCall_Landroid_net_Uri_Landroid_os_Bundle_Handler", ApiSince=23)>]
abstract member PlaceCall : Android.Net.Uri * Android.OS.Bundle -> unit
override this.PlaceCall : Android.Net.Uri * Android.OS.Bundle -> unit

Parameters

address
Uri

The address to make the call to.

extras
Bundle

Bundle of extras to use with the call.

Attributes

Remarks

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 Intent#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: android.Manifest.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. <ul> <li>#EXTRA_OUTGOING_CALL_EXTRAS</li> <li>#EXTRA_PHONE_ACCOUNT_HANDLE</li> <li>#EXTRA_START_CALL_WITH_SPEAKERPHONE</li> <li>#EXTRA_START_CALL_WITH_VIDEO_STATE</li> </ul>

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 android.telecom.PhoneAccountHandle.

Self-managed ConnectionServices require permission android.Manifest.permission#MANAGE_OWN_CALLS.

<p class="note"><strong>Note:</strong> If this method is used to place an emergency call, it is not guaranteed that the call will be placed on the PhoneAccount provided in the #EXTRA_PHONE_ACCOUNT_HANDLE extra (if specified) and may be placed on another PhoneAccount with the PhoneAccount#CAPABILITY_PLACE_EMERGENCY_CALLS capability, depending on external factors, such as network conditions and Modem/SIM status.

Java documentation for android.telecom.TelecomManager.placeCall(android.net.Uri, android.os.Bundle).

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Applies to