TelecomManager.AddCall Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ajoutez un appel au service système 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
Paramètres
- callAttributes
- CallAttributes
attributs du nouvel appel (entrant ou sortant, adresse, etc.)
- executor
- IExecutor
contexte d’exécution pour exécuter CallControlCallback des mises à jour sur
- pendingControl
- IOutcomeReceiver
Reçoit le résultat de la transaction addCall. En cas de réussite, un objet CallControl est fourni, qui peut être utilisé pour effectuer des opérations telles que déconnecter l’appel qui a été ajouté.
- handshakes
- ICallControlCallback
rappel qui reçoit des mises à jour b<actionnables></b> provenant de Telecom.
- events
- ICallEventCallback
rappel qui reçoit des mises à jour b<non> actionnables <>provenant de Telecom.
- Attributs
Remarques
Ajoutez un appel au service système Android Telecom. Cela permet au système de démarrer le suivi d’un appel entrant ou sortant avec le message spécifié CallAttributes. Une fois qu’un appel est ajouté, une android.app.Notification.CallStyle notification doit être publiée et lorsque l’appel est prêt à être déconnecté, utilisez CallControl#disconnect(DisconnectCause, Executor, OutcomeReceiver) ce qui est fourni par le pendingControl#onResult(CallControl).
<b>Cycle de vie< des appels/b> : votre application reçoit une priorité d’exécution de premier plan tant que vous avez un appel valide et que vous publiez une android.app.Notification.CallStyle notification. Lorsque votre application reçoit une priorité d’exécution de premier plan, votre application est traitée comme un service de premier plan. La priorité d’exécution au premier plan empêche l’arrêt android.app.ActivityManager de votre application lorsqu’elle est placée en arrière-plan. La priorité d’exécution au premier plan est supprimée de votre application lorsque tous les appels de votre application se terminent ou que votre application ne publie plus de notification valide.
<b>Remarque</b> : seuls les packages qui s’inscrivent auprès PhoneAccount#CAPABILITY_SUPPORTS_TRANSACTIONAL_OPERATIONS de cette API peuvent utiliser cette API.
PhoneAccountqui définissent les fonctionnalités PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION, PhoneAccount#CAPABILITY_CALL_PROVIDERPhoneAccount#CAPABILITY_CONNECTION_MANAGER ne sont pas prises en charge et entraînent la levée d’une exception.
<b>Exemple d’utilisation :</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);
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.