TelecomManager.AddCall Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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);
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.