Android类ConnectionService

问题描述 投票:6回答:3

[谁能给一个例子来说明如何实现此抽象类-ConnectionService.my的想法是使用TelecomManager进行去电。

https://developer.android.com/reference/android/telecom/ConnectionService.html#SERVICE_INTERFACE

TelecomManager telecomManager = (TelecomManager)this.getSystemService(Context.TELECOM_SERVICE);
        PhoneAccountHandle accountHandle=telecomManager.getSimCallManager();
        PhoneAccount account=telecomManager.getPhoneAccount(accountHandle);
        telecomManager.registerPhoneAccount(account);

        CharSequence label=account.getLabel();
        ConnectionRequest request = null;

        Connection connection= service.onCreateOutgoingConnection(accountHandle,request);

现在,我需要知道在请求字段和Connection服务中将如何实现它。

android android-6.0-marshmallow
3个回答
6
投票

其目的不是让其他应用发出呼叫。支持的方法是通过Intent.ACTION_CALL,如其他答案中所述。

但是,TelecomManager上有一个API可以拨打电话,与直接发送Intent没什么不同。有关TelecomManager.placeCall的更多信息:http://developer.android.com/reference/android/telecom/TelecomManager.html#placeCall

关于ConnectionService:

ConnectionService API的主要目的是将第三方VoIP呼叫包含到系统拨号器中,以便蜂窝呼叫和第三方VoIP呼叫可以并排生活,并且用户可以在它们之间进行切换。实施此API的VoIP应用程序可以从中受益,其处理方式与传统的蜂窝电话一样,包括将其显示在内置的系统拨号器/通话界面,通话记录,Android Wear支持和Android Auto支持中。] >

如果您是第三方VoIP应用程序,希望他们的呼叫与传统的蜂窝电话呼叫并存,那么您会:

1)创建ConnectionService的实现

2)在您的AndroidManifest.xml文件中声明该服务

3)使用ConnectionService组件名称注册一个PhoneAccount

更多信息:http://developer.android.com/reference/android/telecom/ConnectionService.html

然后,用户可以通过拨号程序设置打开您的特定电话帐户,并且您的用户现在可以选择连接服务,以通过您自己的VoIP服务拨打和接听电话。


0
投票

我也在尝试Nini P Suresh想要做的相同概念。让我知道有人是否有灵魂]


-2
投票

要打开拨号程序,我们需要使用Intent,此处要执行的操作是ACTION_DIAL,要提供的数据是电话号码,该电话号码会显式发起呼叫。下面是执行此操作的代码段。

© www.soinside.com 2019 - 2024. All rights reserved.