TelecomManager.AddCall メソッド

定義

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

パラメーター

callAttributes
CallAttributes

新しい通話の属性 (着信または発信、アドレスなど)

executor
IExecutor

CallControlCallback更新を実行する実行コンテキスト

pendingControl
IOutcomeReceiver

addCall トランザクションの結果を受け取ります。 成功すると、追加された呼び出しを切断するなどの処理に使用できる CallControl オブジェクトが提供されます。

handshakes
ICallControlCallback

Telecom から <b>actionable</b> の更新を受け取るコールバック。

events
ICallEventCallback

Telecom から <b>non</b> アクション可能な更新を受け取るコールバック。

属性

注釈

Android システム サービス Telecom への呼び出しを追加します。 これにより、システムは、指定した CallAttributesを使用して着信または発信通話の追跡を開始できます。 通話が追加されたら、android.app.Notification.CallStyle通知を送信し、通話を切断する準備ができたら、CallControl#disconnect(DisconnectCause, Executor, OutcomeReceiver)によって提供されるpendingControl#onResult(CallControl)を使用します。

<b>Call ライフサイクル</b>: 有効な呼び出しがあり、 android.app.Notification.CallStyle 通知を投稿している限り、アプリにはフォアグラウンド実行の優先順位が与えられます。 アプリケーションにフォアグラウンド実行の優先順位が与えられると、アプリはフォアグラウンド サービスとして扱われます。 フォアグラウンド実行の優先順位により、 android.app.ActivityManager がバックグラウンドでアプリケーションを強制実行できなくなります。 アプリのすべての呼び出しが終了するか、アプリが有効な通知を投稿しなくなった場合、フォアグラウンド実行の優先順位はアプリから削除されます。

<b>Note</b>: この API を利用できるのは、 PhoneAccount#CAPABILITY_SUPPORTS_TRANSACTIONAL_OPERATIONS に登録されているパッケージだけです。 PhoneAccount PhoneAccount#CAPABILITY_SIM_SUBSCRIPTIONPhoneAccount#CAPABILITY_CALL_PROVIDERPhoneAccount#CAPABILITY_CONNECTION_MANAGERの機能を設定する s はサポートされていないため、例外がスローされます。

<b>Usage example:</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ドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象