Ami*_*tha 9 android bluetooth phone-call
我正在开发一个应用程序,我需要通过蓝牙协议将呼叫从一个设备转移到另一个设备(即我想像设备将呼叫转移到免提).有任何想法吗?
通常,您不能。Android蓝牙堆栈实现了多个蓝牙配置文件,包括HFP和A2DP。Android是两个配置文件的音频源,并且将音频流传输到连接的耳机。如Bluetooth.org所述,耳机应实现免提单元(HF)功能和Android音频网关(AG)。
现在,您需要Android设备上的HF功能,该功能设计上支持AG。您实际上需要为设备实现HFP配置文件(HF端),您实际上希望将其用作耳机。看一下轮廓模型。HFP基于RFCOMM(受Android API支持)和SDP(API中不存在)。您将无法从BlueDroid访问某些部分(修改SDP等),这些部分位于堆栈层上。因此,您的手机不能伪装成具有HF功能的耳机。
当然,您可以通过RFCOMM发送所有内容(据我所知,这是异步的),但是Android蓝牙API对此没有直接支持。使用RFCOMM的实现将需要SCO链接(SCO套接字),并且也可能隐藏在Android OS堆栈层中(无法找到通过API创建此类套接字的方法)。