TelecomManager.AddCall Methode

Definition

Fügen Sie einen Anruf an den 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 von CallControlCallback Updates auf

pendingControl
IOutcomeReceiver

Empfängt das Ergebnis der addCall-Transaktion. Bei Erfolg wird ein CallControl-Objekt bereitgestellt, das verwendet werden kann, um Dinge wie das Trennen des hinzugefügten Anrufs zu erledigen.

handshakes
ICallControlCallback

Rückruf, der b-Aktualisierungen<empfängt, die von Telecom stammen, umsetzbare>/b-Updates< zu erhalten>.

events
ICallEventCallback

Rückruf, der b<nicht>/b-Aktionen< erfordernde Updates empfängt>, die von Telecom stammen.

Attribute

Hinweise

Fügen Sie einen Anruf an den Android-Systemdienst Telecom hinzu. Auf diese Weise kann das System mit der Nachverfolgung eines eingehenden oder ausgehenden Anrufs mit dem angegebenen CallAttributesbeginnen. Sobald ein Anruf hinzugefügt wurde, sollte eine android.app.Notification.CallStyle Benachrichtigung gepostet werden, und wenn der Anruf bereit ist, getrennt zu werden, verwenden Sie CallControl#disconnect(DisconnectCause, Executor, OutcomeReceiver) dies von der pendingControl#onResult(CallControl).

<b>Call Lifecycle</b>: Ihre App erhält Vordergrundausführungspriorität, solange Sie über einen gültigen Anruf verfügen und eine android.app.Notification.CallStyle Benachrichtigung posten. Wenn ihre Anwendung Vordergrundausführungspriorität erhält, wird Ihre App als Vordergrunddienst behandelt. Die Vordergrundausführungspriorität verhindert, dass die android.app.ActivityManager Anwendung beim Platzieren des Hintergrunds von der Anwendung getötet wird. Die Vordergrundausführungspriorität 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 registrieren PhoneAccount#CAPABILITY_SUPPORTS_TRANSACTIONAL_OPERATIONS , können diese API verwenden. PhoneAccounts that set the capabilities PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION, PhoneAccount#CAPABILITY_CALL_PROVIDERare PhoneAccount#CAPABILITY_CONNECTION_MANAGER not supported and will cause an exception to be thrown.

<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 auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: