我正在尝试在两个Android设备之间建立不安全的蓝牙套接字连接。我在两端控制软件。一端使用listenUsingInsecureRfcommWithServiceRecord
侦听连接,另一端使用createInsecureRfcommSocketToServiceRecord
进行连接。这有效。的有时
“有时”是我的问题。在大约20%的尝试中,它失败并抛出以下异常:
java.io.IOException: Service discovery failed
at android.bluetooth.BluetoothSocket$SdpHelper.doSdp(BluetoothSocket.java:403)
at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:213)
at com.example.bluetoothpoke.MainActivity$1.onClick(MainActivity.java:34)
两个设备都在屏幕上醒着。设备之间的距离约为1米(10厘米和3米没有区别)。两个设备都没有执行发现。这两种设备都是可发现的(两种设备都不会发生变化)。
我是否必须假设它是正常的,因为无线接口,只是再次尝试失败,或者我能做些什么?鉴于我处于一个非常舒适的距离,它不应该更可靠地工作吗?
注意:我发现了许多类似的问题,但我发现的问题是“根本不起作用”,连接到非Android设备,或两者兼而有之。