Freigeben über


TelecomManager.AddCall Methode

Definition

Fügen Sie einen Anruf beim Android-Systemdienst Telecom hinzu.

[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

Parameter

callAttributes
CallAttributes

Attribute des neuen Anrufs (eingehender oder ausgehender Anruf, Adresse usw.)

executor
IExecutor

Ausführungskontext zum Ausführen CallControlCallback von Updates

pendingControl
IOutcomeReceiver

Empfängt das Ergebnis der addCall-Transaktion. Bei Erfolg wird ein CallControl-Objekt bereitgestellt, das verwendet werden kann, um z. B. den hinzugefügten Aufruf zu trennen.

handshakes
ICallControlCallback

Rückruf, der b>actionable</b-Updates> empfängt<, die von Telekommunikation stammen.

events
ICallEventCallback

Rückruf, der b>nicht</b-umsetzbare> Updates empfängt<, die von Telekommunikation stammen.

Attribute

Hinweise

Fügen Sie einen Anruf beim Android-Systemdienst Telecom hinzu. Dadurch kann das System beginnen, einen eingehenden oder ausgehenden Anruf mit dem angegebenen CallAttributeszu verfolgen. Sobald der Aufruf zum Trennen bereit ist, verwenden Sie die CallControl#disconnect(DisconnectCause, Executor, OutcomeReceiver) , die vom pendingControl#onResult(CallControl)bereitgestellt wird.

<b>Anruflebenszyklus</b>: Ihre App erhält Priorität für die Ausführung im Vordergrund, solange Sie einen gültigen Anruf haben und eine android.app.Notification.CallStyle Benachrichtigung veröffentlichen. Wenn Ihrer Anwendung priorität für die Ausführung im Vordergrund eingeräumt wird, wird Ihre App als Vordergrunddienst behandelt. Die Vordergrundausführungspriorität verhindert, dass ihre android.app.ActivityManager Anwendung beendet wird, wenn sie im Hintergrund platziert wird. Die Priorität der Vordergrundausführung wird aus Ihrer App entfernt, wenn alle Aufrufe Ihrer App beendet werden oder Ihre App keine gültige Benachrichtigung mehr sendet.

<b>Hinweis</b>: Nur Pakete, die sich bei PhoneAccount#CAPABILITY_SUPPORTS_TRANSACTIONAL_OPERATIONS registrieren, können diese API verwenden. PhoneAccounts, die die Funktionen PhoneAccount#CAPABILITY_SIM_SUBSCRIPTIONfestlegen, PhoneAccount#CAPABILITY_CALL_PROVIDERwerden PhoneAccount#CAPABILITY_CONNECTION_MANAGER nicht unterstützt und führen dazu, dass eine Ausnahme ausgelöst wird.

<b>Verwendungsbeispiel:</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-Dokumentation für 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).

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: