Share via


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>アクション可能</b> 更新を受け取る<コールバック。

events
ICallEventCallback

Telecom から生成された b>の非<アクション>可能な更新を受け取る<コールバック。

属性

注釈

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

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

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

<b>使用例:</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 ドキュメント 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)

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

適用対象