TelecomManager.PlaceCall(Uri, Bundle) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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 ConnectionService
s 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.