TelecomManager.AddCall Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 CallAttributes
zu 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. PhoneAccount
s, die die Funktionen PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION
festlegen, PhoneAccount#CAPABILITY_CALL_PROVIDER
werden 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);
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.