TelecomManager.AddCall Metodo

Definizione

Aggiungere una chiamata al servizio di 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

Parametri

callAttributes
CallAttributes

attributi della nuova chiamata (in ingresso o in uscita, indirizzo e così via)

executor
IExecutor

contesto di esecuzione in cui eseguire CallControlCallback gli aggiornamenti

pendingControl
IOutcomeReceiver

Riceve il risultato della transazione addCall. In caso di esito positivo, viene fornito un oggetto CallControl che può essere usato per eseguire operazioni come disconnettere la chiamata aggiunta.

handshakes
ICallControlCallback

callback che riceve aggiornamenti eseguibili<></b> che provengono da Telecom.

events
ICallEventCallback

callback che riceve aggiornamenti non eseguibili <>b<> che hanno origine da Telecom.

Attributi

Commenti

Aggiungere una chiamata al servizio di sistema Android Telecom. Ciò consente al sistema di avviare il rilevamento di una chiamata in ingresso o in uscita con l'oggetto specificato CallAttributes. Dopo l'aggiunta di una chiamata, deve essere inviata una android.app.Notification.CallStyle notifica e quando la chiamata è pronta per essere disconnessa, usare CallControl#disconnect(DisconnectCause, Executor, OutcomeReceiver) che viene fornita da pendingControl#onResult(CallControl).

<b Ciclo di vita> delle chiamate/b<>: all'app viene assegnata la priorità di esecuzione in primo piano, purché si disponga di una chiamata valida e si stia pubblicando una android.app.Notification.CallStyle notifica. Quando all'applicazione viene assegnata la priorità di esecuzione in primo piano, l'app viene considerata come un servizio in primo piano. La priorità di esecuzione in primo piano impedirà l'eliminazione dell'applicazione android.app.ActivityManager quando viene posizionata in background. La priorità di esecuzione in primo piano viene rimossa dall'app quando tutte le chiamate dell'app terminano o l'app non pubblica più una notifica valida.

<b Nota>/b<>: solo i pacchetti registrati con PhoneAccount#CAPABILITY_SUPPORTS_TRANSACTIONAL_OPERATIONS possono usare questa API. PhoneAccounts che imposta le funzionalità PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION, PhoneAccount#CAPABILITY_CALL_PROVIDER, non PhoneAccount#CAPABILITY_CONNECTION_MANAGER sono supportate e causerà la generazione di un'eccezione.

<b>Esempio di utilizzo:</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);

per 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).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a