我有一台蓝牙服务,我在Windows机器上为.Net编程,我希望我的Android 2.1手机可以连接到它。服务器正在侦听Android用于连接的相同UUID。但是连接失败了。
当我尝试连接到没有侦听该UUID的设备时,我收到“服务发现失败”消息的异常,但是当我尝试连接到正在侦听正确UUID的服务器时,会出现一个消息框弹出说:
“与蓝牙设备配对存在问题。”
我收到一条消息“Connection timed out”的异常。所以看起来服务器和Android正在通信,但在握手期间存在某种失败。我知道Android要求服务器与手机配对并加密通信通道。有谁知道使用哪种规格来做到这一点?我希望我的服务器能够正确响应连接尝试。
谢谢!
答案 0 :(得分:1)
我弄清楚出了什么问题。问题是在尝试建立连接之前必须将远程设备与Android配对,因为配对对话框并不总是有效。我不确定该错误是在Android端还是在其他设备端,但我从未出现过要求验证码或在任一设备上显示验证码的对话框。所以看起来有一些兼容性问题。但如果你事先明确地配对设备,那么连接就可以了。
答案 1 :(得分:1)
1-如果没有保税,我连续收到两个错误:
03-03 13:38:20.020: ERROR/BluetoothService.cpp(2077): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session) // Probably because we're calling cancelDiscovery() as a "security" (it's already been cancelled at some point beforehand)
03-03 13:38:20.040: ERROR/BluetoothEventLoop.cpp(2077): onCreateDeviceResult: D-Bus error: org.bluez.Error.AlreadyExists (Device already exists) // This I don't understand
2-通过蓝牙设置绑定后,没问题。连接完美,程序正常。
我试图自己查看Android Source,但鉴于我是新手,这有点难。如果有经验的人可以解决这个问题,那就太好了。
答案 2 :(得分:1)
要回答Tomas - SPP(串行端口配置文件)配置文件在几个HTC Android机型上打破,甚至是2.1版本,但它们在这些型号中并不一致。
HTC Desire - 不起作用。
HTC Legend - 糟糕,但有效一段时间?
带有自定义ROM的HTC Hero - 有些工作得很好,有些工作不好,有些工作时很糟糕。
答案 3 :(得分:0)
所有以前的答案都在标记上;实际上,在连接之前需要配对。
然而,即使配对后我也收到了错误。 (我首先尝试连接而没有配对)。
解决方法是重启手机一次。现在它可以很好地连接到配对设备。听起来很简单,但我花了很长时间调试它。希望对那里的人有用。