Idioma

TelecomManager.AddCall Método

Definição

Adicione uma chamada ao serviço de 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 da nova chamada (entrada ou saída, endereço etc.)

executor
IExecutor

contexto de execução para executar CallControlCallback atualizações em

pendingControl
IOutcomeReceiver

Recebe o resultado da transação addCall. Após o sucesso, um objeto CallControl é fornecido que pode ser usado para fazer coisas como desconectar a chamada que foi adicionada.

handshakes
ICallControlCallback

retorno de chamada que recebe atualizações <b>acionáveis</b> originadas da Telecom.

events
ICallEventCallback

retorno de chamada que recebe b<atualizações >não< acionáveis> que se originam da Telecom.

Atributos

Comentários

Adicione uma chamada ao serviço de sistema Android Telecom. Isso permite que o sistema comece a acompanhar uma chamada de entrada ou saída com a chamada especificada CallAttributes. Depois que uma chamada é adicionada, uma android.app.Notification.CallStyle notificação deve ser postada e quando a chamada estiver pronta para ser desconectada, use CallControl#disconnect(DisconnectCause, Executor, OutcomeReceiver) o que é fornecido pelo pendingControl#onResult(CallControl).

<b>Ciclo de Vida da< Chamada/b>: seu aplicativo recebe prioridade de execução em primeiro plano desde que você tenha uma chamada válida e esteja postando uma android.app.Notification.CallStyle notificação. Quando o aplicativo recebe prioridade de execução em primeiro plano, seu aplicativo é tratado como um serviço em primeiro plano. A prioridade de execução em primeiro plano impedirá que o android.app.ActivityManager aplicativo seja matado quando ele for colocado em segundo plano. A prioridade de execução em primeiro plano é removida do seu aplicativo quando todas as chamadas do aplicativo terminam ou seu aplicativo não publica mais uma notificação válida.

<b>Observação</b>: somente os pacotes com PhoneAccount#CAPABILITY_SUPPORTS_TRANSACTIONAL_OPERATIONS os quais se registram podem utilizar essa API. PhoneAccounts que definem os recursosPhoneAccount#CAPABILITY_SIM_SUBSCRIPTION, PhoneAccount#CAPABILITY_CALL_PROVIDERPhoneAccount#CAPABILITY_CONNECTION_MANAGER não têm suporte e farão com que uma exceção seja gerada.

<b>Exemplo 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 documentação 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).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a