[谁能给一个例子来说明如何实现此抽象类-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服务中将如何实现它。
其目的不是让其他应用发出呼叫。支持的方法是通过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服务拨打和接听电话。
我也在尝试Nini P Suresh想要做的相同概念。让我知道有人是否有灵魂]
要打开拨号程序,我们需要使用Intent,此处要执行的操作是ACTION_DIAL,要提供的数据是电话号码,该电话号码会显式发起呼叫。下面是执行此操作的代码段。