带有 SIP/VoIP 的 Android 应用程序的蓝牙 HFP 支持

sol*_*007 6 android voip bluetooth sip hfp

我正在尝试向我的 android 应用程序添加对蓝牙设备(如耳机/耳机/汽车音响)的支持,该应用程序允许用户进行 SIP/VoIP 呼叫。我试图主要解决使用蓝牙耳机上的按钮接听和结束通话的要求,其他按钮/功能处理是很好的。

通过我所做的搜索以及到目前为止我阅读的所有文本,我遇到了以下内容-

  • 到处都建议的一种常见方法是注册到ACTION_AUDIO_STATE_CHANGED. 但这并没有真正帮助我。每次按下蓝牙耳机上的按钮时都会发送它的意图,并且当我们在蓝牙耳机上开始铃声时也会发送。
  • 我发现的一个非常常见的解决方案是使用蓝牙适配器类。你无能为力。所以再次没有帮助。
  • 我遇到的另一种方法是使用供应商特定的耳机事件。经过一些努力,我能够使其适用于特定的 Plantronics 蓝牙耳机。支持 Jabra 很重要。
  • 我遇到的另一种方法是与 IBluetoothHeadsetPhone.aidl 绑定,电话应用程序是这样做的。我能找到的关于它的信息很少,不足以继续实施任何事情。

如果有人做过这样的事情,我认为我面临的问题并不少见,我只是相信它没有很好的记录。任何指针、方法、链接将不胜感激。

当我发现我尝试的任何或任何其他方法时,我将尝试添加更多信息。如果您需要有关我尝试过的解决方案的更多信息,请询问详细信息。并请提出更改建议,而不仅仅是标记问题。感谢广告。

sol*_*007 5

对不起,迟到的帖子。我能够找到解决此问题的方法。这不是简单的修复。

您需要使用 Android 电信框架中的 ConnectionService。在此处此处查看此链接。在此之后,您的 VoIP 呼叫将像对待蜂窝电话一样。