android - 如何向 BT 耳机发送 AT 命令
问题描述
我想开发一个控制 BT 耳机的应用程序,而不是手动。例如,当我有来电时,我想向 BT 耳机发送 AT 命令来拒绝或接听来电。这是我实现该目标的代码。
这是我的代码,基于如何在 android 中基于 BT Hands-Free 配置文件发送 AT 命令?
private UUID MY_UUID_SECURE = UUID.fromString("00001108-0000-1000-8000-00805f9b34fb"); // It's my headset's uuid
...
tmp = device.createRfcommSocketToServiceRecord(MY_UUID_SECURE); // Connect to my headset's profile(HSP)
...
// Here is rfcomm success
mmInStream = mmSocket.getInputStream();
mmOutStream = mmSocket.getOutputStream();
...
连接成功,我可以将任何字节写入 HSP。
mmOutStream.write("AT+CHUP\r".getBytes());
上面的代码运行正常,但我的耳机无法处理任何命令。这是什么意思?“AT+CHUP”是拒绝来电的AT指令吧?但它不适用于我的耳机。耳机现在无法拒绝/接听来电。如果有人对此问题有过期,请帮助我。我也很高兴在 github 上看到某人的完整源代码。请并谢谢大家。
解决方案
推荐阅读
- wkwebview - WKWebView 不遵循重定向
- java - 添加到片段时按钮不起作用
- ruby-on-rails - 在 Rails 中调用应用程序控制器中的当前用户
- javascript - 文本区域到变量:间距
- android - 使用供应商密钥签名的数据应用程序是否应该能够运行“su”
- sharepoint - 如何从创建文档库响应中获取 ListURL?
- excel - 如何检查通过 VBA 输入框输入的文本何时存在于隐藏表的单元格范围内。
- python - 获取假设检测框的分类分数
- jquery - 动画项目从一个列表移动到另一个
- javascript - 当 webpack-dev-server 导致页面重新加载时,在 GUI 中重新运行 Cypress 测试