TelecomManager.AcceptHandover 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.
Called by an app to indicate that it wishes to accept the handover of an ongoing call to a
PhoneAccountHandle
it defines.
[Android.Runtime.Register("acceptHandover", "(Landroid/net/Uri;ILandroid/telecom/PhoneAccountHandle;)V", "GetAcceptHandover_Landroid_net_Uri_ILandroid_telecom_PhoneAccountHandle_Handler", ApiSince=28)]
public virtual void AcceptHandover (Android.Net.Uri? srcAddr, Android.Telecom.VideoProfileState videoState, Android.Telecom.PhoneAccountHandle? destAcct);
[<Android.Runtime.Register("acceptHandover", "(Landroid/net/Uri;ILandroid/telecom/PhoneAccountHandle;)V", "GetAcceptHandover_Landroid_net_Uri_ILandroid_telecom_PhoneAccountHandle_Handler", ApiSince=28)>]
abstract member AcceptHandover : Android.Net.Uri * Android.Telecom.VideoProfileState * Android.Telecom.PhoneAccountHandle -> unit
override this.AcceptHandover : Android.Net.Uri * Android.Telecom.VideoProfileState * Android.Telecom.PhoneAccountHandle -> unit
Parameters
- srcAddr
- Uri
The android.net.Uri
of the ongoing call to handover to the caller’s
ConnectionService
.
- videoState
- VideoProfileState
Video state after the handover.
- destAcct
- PhoneAccountHandle
The PhoneAccountHandle
registered to the calling package.
- Attributes
Remarks
Called by an app to indicate that it wishes to accept the handover of an ongoing call to a PhoneAccountHandle
it defines.
A call handover is the process where an ongoing call is transferred from one app (i.e. ConnectionService
to another app. The user could, for example, choose to continue a mobile network call in a video calling app. The mobile network call via the Telephony stack is referred to as the source of the handover, and the video calling app is referred to as the destination.
When considering a handover scenario the <em>initiating</em> device is where a user initiated the handover process (e.g. by calling android.telecom.Call#handoverTo( PhoneAccountHandle, int, Bundle)
, and the other device is considered the <em>receiving</em> device.
For a full discussion of the handover process and the APIs involved, see android.telecom.Call#handoverTo(PhoneAccountHandle, int, Bundle)
.
This method is called from the <em>receiving</em> side of a handover to indicate a desire to accept the handover of an ongoing call to another ConnectionService
identified by PhoneAccountHandle
destAcct. For managed ConnectionService
s, the specified PhoneAccountHandle
must have been registered with #registerPhoneAccount
and the user must have enabled the corresponding PhoneAccount
. This can be checked using #getPhoneAccount
. Self-managed ConnectionService
s must have android.Manifest.permission#MANAGE_OWN_CALLS
to handover a call to it.
Once invoked, this method will cause the system to bind to the ConnectionService
associated with the PhoneAccountHandle
destAcct and call (See ConnectionService#onCreateIncomingHandoverConnection
).
For a managed ConnectionService
, a SecurityException
will be thrown if either the PhoneAccountHandle
destAcct 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 calling app does not have android.Manifest.permission#MANAGE_OWN_CALLS
.
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.