TelecomManager.AddCall Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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);
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.