Langue

TelecomManager.AddCall Méthode

Définition

Ajoutez un appel au service système Android Telecom.

[Android.Runtime.Register("addCall", "(Landroid/telecom/CallAttributes;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;Landroid/telecom/CallControlCallback;Landroid/telecom/CallEventCallback;)V", "GetAddCall_Landroid_telecom_CallAttributes_Ljava_util_concurrent_Executor_Landroid_os_OutcomeReceiver_Landroid_telecom_CallControlCallback_Landroid_telecom_CallEventCallback_Handler", ApiSince=34)]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_OWN_CALLS")]
public virtual void AddCall(Android.Telecom.CallAttributes callAttributes, Java.Util.Concurrent.IExecutor executor, Android.OS.IOutcomeReceiver pendingControl, Android.Telecom.ICallControlCallback handshakes, Android.Telecom.ICallEventCallback events);
[<Android.Runtime.Register("addCall", "(Landroid/telecom/CallAttributes;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;Landroid/telecom/CallControlCallback;Landroid/telecom/CallEventCallback;)V", "GetAddCall_Landroid_telecom_CallAttributes_Ljava_util_concurrent_Executor_Landroid_os_OutcomeReceiver_Landroid_telecom_CallControlCallback_Landroid_telecom_CallEventCallback_Handler", ApiSince=34)>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_OWN_CALLS")>]
abstract member AddCall : Android.Telecom.CallAttributes * Java.Util.Concurrent.IExecutor * Android.OS.IOutcomeReceiver * Android.Telecom.ICallControlCallback * Android.Telecom.ICallEventCallback -> unit
override this.AddCall : Android.Telecom.CallAttributes * Java.Util.Concurrent.IExecutor * Android.OS.IOutcomeReceiver * Android.Telecom.ICallControlCallback * Android.Telecom.ICallEventCallback -> unit

Paramètres

callAttributes
CallAttributes

attributs du nouvel appel (entrant ou sortant, adresse, etc.)

executor
IExecutor

contexte d’exécution pour exécuter CallControlCallback des mises à jour sur

pendingControl
IOutcomeReceiver

Reçoit le résultat de la transaction addCall. En cas de réussite, un objet CallControl est fourni, qui peut être utilisé pour effectuer des opérations telles que déconnecter l’appel qui a été ajouté.

handshakes
ICallControlCallback

rappel qui reçoit des mises à jour b<actionnables></b> provenant de Telecom.

events
ICallEventCallback

rappel qui reçoit des mises à jour b<non> actionnables <>provenant de Telecom.

Attributs

Remarques

Ajoutez un appel au service système Android Telecom. Cela permet au système de démarrer le suivi d’un appel entrant ou sortant avec le message spécifié CallAttributes. Une fois qu’un appel est ajouté, une android.app.Notification.CallStyle notification doit être publiée et lorsque l’appel est prêt à être déconnecté, utilisez CallControl#disconnect(DisconnectCause, Executor, OutcomeReceiver) ce qui est fourni par le pendingControl#onResult(CallControl).

<b>Cycle de vie< des appels/b> : votre application reçoit une priorité d’exécution de premier plan tant que vous avez un appel valide et que vous publiez une android.app.Notification.CallStyle notification. Lorsque votre application reçoit une priorité d’exécution de premier plan, votre application est traitée comme un service de premier plan. La priorité d’exécution au premier plan empêche l’arrêt android.app.ActivityManager de votre application lorsqu’elle est placée en arrière-plan. La priorité d’exécution au premier plan est supprimée de votre application lorsque tous les appels de votre application se terminent ou que votre application ne publie plus de notification valide.

<b>Remarque</b> : seuls les packages qui s’inscrivent auprès PhoneAccount#CAPABILITY_SUPPORTS_TRANSACTIONAL_OPERATIONS de cette API peuvent utiliser cette API. PhoneAccountqui définissent les fonctionnalités PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION, PhoneAccount#CAPABILITY_CALL_PROVIDERPhoneAccount#CAPABILITY_CONNECTION_MANAGER ne sont pas prises en charge et entraînent la levée d’une exception.

<b>Exemple d’utilisation :</b>

// Its up to your app on how you want to wrap the objects. One such implementation can be:
             class MyVoipCall {
               ...
                 public CallControlCallEventCallback handshakes = new  CallControlCallback() {
                                    ...
                                   }

                 public CallEventCallback events = new CallEventCallback() {
                                    ...
                                   }

                 public MyVoipCall(String id){
                     ...
                 }
             }

            MyVoipCall myFirstOutgoingCall = new MyVoipCall("1");

            telecomManager.addCall(callAttributes,
                                   Runnable::run,
                                   new OutcomeReceiver() {
                                         public void onResult(CallControl callControl) {
                                            // The call has been added successfully. For demonstration
                                            // purposes, the call is disconnected immediately ...
                                            callControl.disconnect(
                                                            new DisconnectCause(DisconnectCause.LOCAL) )
                                         }
                                      },
                                      myFirstOutgoingCall.handshakes,
                                      myFirstOutgoingCall.events);

Documentation Java pour android.telecom.TelecomManager.addCall(android.telecom.CallAttributes, java.util.concurrent.Executor, android.os.OutcomeReceiver<android.telecom.CallControl, android.telecom.CallException>, android.telecom.CallControlCallback, android.telecom.CallEventCallback).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à