我正在开发一个语音识别应用程序,它使用蓝牙免提配置文件(HFP,也就是耳机配置文件)连接到自定义硬件。该应用程序用于通过利用Android AudioRecord类将PCM音频数据传递到基于云的语音识别服务器。如果应用程序发起SCO连接,此功能将正常工作,但如果头戴式耳机硬件发起SCO连接,则通过向电话发出AT+BVRA HFP命令,Google Assistant始终会劫持电话。因此,我的问题是,我如何才能阻止这一切?有没有办法通过编程让Google Assistant冷静下来?我尝试过很多不同的方法( Java管理、AudioRouting首选连接、BluetoothHeadset配置文件类、AudioManager反射和View.setAssitBlocked(true)等),但它们似乎都无法阻止Google Assistant或重新捕获sco连接。(这款手机似乎还为谷歌助手的音频输入打开了一个A2DP )。我希望这可以通过基于Java的解决方案来实现……?
发布于 2018-08-23 07:33:56
As noted by another answer,可能发生的情况是安卓正在广播一个ACTION_VOICE_COMMAND intent,由于谷歌助手是设置为接收它的,所以它在连接上获得了优先级。您的应用程序可以注册意图,并查看它是否在收到意图时获得优先级。
https://stackoverflow.com/questions/50403258
复制相似问题