Lenguaje

TelecomManager.AddCall Método

Definición

Agregue una llamada al servicio del sistema 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

Parámetros

callAttributes
CallAttributes

atributos de la nueva llamada (entrante o saliente, dirección, etc.)

executor
IExecutor

contexto de ejecución para ejecutar CallControlCallback actualizaciones en

pendingControl
IOutcomeReceiver

Recibe el resultado de la transacción addCall. Tras el éxito, se proporciona un objeto CallControl que se puede usar para hacer cosas como desconectar la llamada que se agregó.

handshakes
ICallControlCallback

devolución de llamada que recibe <>actualizaciones accionables</b> que se originan en Telecom.

events
ICallEventCallback

devolución de llamada que recibe <actualizaciones>< que no son accionables b> que se originan en Telecom.

Atributos

Comentarios

Agregue una llamada al servicio del sistema Android Telecom. Esto permite al sistema iniciar el seguimiento de una llamada entrante o saliente con el especificado CallAttributes. Una vez agregada una llamada, se debe publicar una android.app.Notification.CallStyle notificación y cuando la llamada esté lista para desconectarse, use CallControl#disconnect(DisconnectCause, Executor, OutcomeReceiver) la que proporciona .pendingControl#onResult(CallControl)

<b>Ciclo de vida< de llamadas/b>: la aplicación tiene prioridad de ejecución en primer plano siempre que tenga una llamada válida y publique una android.app.Notification.CallStyle notificación. Cuando la aplicación recibe prioridad de ejecución en primer plano, la aplicación se trata como un servicio en primer plano. La prioridad de ejecución en primer plano impedirá que se mate la android.app.ActivityManager aplicación cuando se coloque en segundo plano. La prioridad de ejecución en primer plano se quita de la aplicación cuando todas las llamadas de la aplicación finalizan o la aplicación ya no publica una notificación válida.

<b>Nota</b>: Solo los paquetes que se registran con PhoneAccount#CAPABILITY_SUPPORTS_TRANSACTIONAL_OPERATIONS pueden usar esta API. PhoneAccountque establecen las funcionalidades PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION, PhoneAccount#CAPABILITY_CALL_PROVIDER, PhoneAccount#CAPABILITY_CONNECTION_MANAGER no se admiten y provocarán una excepción.

<b>Ejemplo de uso:</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);

Java documentación para 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).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a