我有以下问题:在打开手机蓝牙之前打开耳机时,它将无法连接到手机。 仅当手机蓝牙打开并且第二次打开耳机时,它才会连接到我的手机。 我发现进入蓝牙第二秒钟(1种情况)后,仍然可以连接到我的耳机,方法是进入android蓝牙菜单,其中列出了我的配对设备并选择了我的耳机(尽管我的耳机列为“已连接”) 。 这也将连接我的耳机和手机。

我现在想做的是,当第二次以编程方式打开手机蓝牙时,执行第二种连接耳机的方式。 我想使用Android 2.0版(API级别5),所以我尝试了BluetoothDevice.createRfcommSocketToServiceRecord并在我的套接字上调用了connect() 但是我总是收到“连接被拒绝”或“服务发现失败”的异常。 我使用了许多UUID,我认为这是正确的选择,并且与耳机有关。

===============>>#1 票数:3

您无法调用RFCOMM api连接到耳机。 它旨在连接到SPP配置文件,耳机将使用HS / HFP配置文件。 在RFCOMM api上也使用不同的UUID将无法解决问题。

基本上,此耳机级别配置文件连接由Android内部完成(并且没有应用程序级别访问权限来建立连接)应用程序只能获取连接状态-请参阅BluetoothHeadset

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

  ask by user695571 translate from so

未解决问题?本站智能推荐: