在android中连接蓝牙耳机



我有以下问题:当我的耳机在我的手机蓝牙开启之前打开时,它不会连接到我的手机。它只会连接到我的手机,当手机蓝牙打开,我的耳机打开第二。我发现当蓝牙打开第二秒(1秒)时,我仍然可以连接耳机。进入列出配对设备的android蓝牙菜单,选择我的耳机(尽管我的耳机被列为"已连接")。这个也可以连接我的耳机和手机。

我现在要做的是执行连接到我的耳机的第二种方式,当我的手机蓝牙被打开第二,编程。我想使用android 2.0版本(API Level 5),所以我尝试了BluetoothDevice.createRfcommSocketToServiceRecord,并在我的套接字上调用connect()。但我总是得到一个异常"连接拒绝"或"服务发现失败"。我使用了许多我认为可能是正确的UUID,并且与耳机有关。

无法调用RFCOMM api连接耳机。这意味着连接到SPP配置文件,耳机将使用HS/HFP配置文件。在RFCOMM api上使用不同的uid并不能解决这个问题。

基本上这个耳机级别的配置文件连接是由Android内部完成的(并且没有应用程序级别的访问来建立连接)应用程序只能获得连接的状态-参见BluetoothHeadset类

当前行为是正确的推荐行为,即耳机应该连接到手机,所以手机应该在耳机打开之前打开。为了获得良好的用户体验和可预测性,建议这样做,如果两个设备随机尝试相互连接,它将无法连接。

最新更新