每当我尝试将 Android 设备连接到支持蓝牙的设备时,我都会遇到异常,它正在连接,并且在一分钟之内就出现异常。
要使用 BLuettoth 设备(Spp 配置文件)进行连接,我正在使用
Method m;
m = mmDevice.getClass().getMethod("createRfcommSocket",
new Class[] { int.class });
tmp = (BluetoothSocket) m.invoke(mmDevice, 1);
使用此代码,我能够连接到设备。但在这一行 bytes = mmInStream.read(buffer) 中,我在几分钟内收到异常。我可以用
if(mmInStream.available() > 0) {
bytes = mmInStream.read(buffer);
}
但是如果我将条件放在这里,它无法了解设备是否仍然与其他设备连接。因为不会发生异常。
我试了两天也没找到解决办法。但我找不到解决方案。
你能帮我么?
提前致谢
我在蓝牙广播后启动的服务器也遇到了同样的问题。解决方案是在服务器通过BluetoothServerSocket.accept()建立连接后发送一个字节。客户端在BluetoothSocket.connect()之后读取一个字节。所以两端是同步的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)