Android 应用 SIP/VoIP 的蓝牙 HFP 支持
Bluetooth HFP support for Android App with SIP/VoIP
我正在尝试为我的 android 应用程序添加对 headsets/headphones/car 立体声等蓝牙设备的支持,从而允许用户拨打 SIP/VoIP 电话。我试图主要解决使用蓝牙耳机上的按钮接听和结束通话的要求,其他 buttons/features 处理很好。
通过我所做的搜索和到目前为止我阅读的所有文本,我遇到了以下内容-
- 到处都建议的一种常见方法是注册
ACTION_AUDIO_STATE_CHANGED
。但这并没有真正帮助我。每次按下蓝牙耳机上的按钮以及当我们启动蓝牙耳机上的铃声时都会发送它的意图。
- 我发现一个非常常见的解决方案是使用蓝牙适配器 class。你无能为力。所以再次没有帮助。
- 我遇到的另一种方法是使用供应商特定的耳机事件。经过一些努力,我能够让这个适用于特定的 Plantronics 蓝牙耳机。支持 Jabra 很重要。
- 我遇到的另一种方法是与 IBluetoothHeadsetPhone.aidl 绑定,phone 应用程序就是这样做的。我能找到的信息很少,不足以继续实施任何事情。
如果有人做过这样的事情,我认为我面临的问题并不少见,我只是相信它没有得到很好的记录。
任何指示,方法,link 将不胜感激。
我会尝试添加更多信息,因为我发现了我尝试过的任何或任何其他方法。如果您需要更多有关我尝试过的解决方案的信息,请询问详细信息。请提出更改建议,而不仅仅是标记问题。
提前致谢
抱歉来晚了 post。我能够找到解决此问题的方法。这不是简单的修复。
您需要使用 Android 电信框架中的 ConnectionService。 Check out this link here & here。在此之后,您的 VoIP 通话将像蜂窝电话一样处理。
我正在尝试为我的 android 应用程序添加对 headsets/headphones/car 立体声等蓝牙设备的支持,从而允许用户拨打 SIP/VoIP 电话。我试图主要解决使用蓝牙耳机上的按钮接听和结束通话的要求,其他 buttons/features 处理很好。
通过我所做的搜索和到目前为止我阅读的所有文本,我遇到了以下内容-
- 到处都建议的一种常见方法是注册
ACTION_AUDIO_STATE_CHANGED
。但这并没有真正帮助我。每次按下蓝牙耳机上的按钮以及当我们启动蓝牙耳机上的铃声时都会发送它的意图。 - 我发现一个非常常见的解决方案是使用蓝牙适配器 class。你无能为力。所以再次没有帮助。
- 我遇到的另一种方法是使用供应商特定的耳机事件。经过一些努力,我能够让这个适用于特定的 Plantronics 蓝牙耳机。支持 Jabra 很重要。
- 我遇到的另一种方法是与 IBluetoothHeadsetPhone.aidl 绑定,phone 应用程序就是这样做的。我能找到的信息很少,不足以继续实施任何事情。
如果有人做过这样的事情,我认为我面临的问题并不少见,我只是相信它没有得到很好的记录。 任何指示,方法,link 将不胜感激。
我会尝试添加更多信息,因为我发现了我尝试过的任何或任何其他方法。如果您需要更多有关我尝试过的解决方案的信息,请询问详细信息。请提出更改建议,而不仅仅是标记问题。 提前致谢
抱歉来晚了 post。我能够找到解决此问题的方法。这不是简单的修复。
您需要使用 Android 电信框架中的 ConnectionService。 Check out this link here & here。在此之后,您的 VoIP 通话将像蜂窝电话一样处理。