Android蓝牙:软件导致连接中止

时间:2012-09-12 09:14:46

标签: android bluetooth

每当我尝试将android设备连接到启用bluettoth的设备时,我都会遇到异常,它正在连接并且在一两分钟内它会变得异常。 要使用BLuettoth设备(Spp配置文件)进行连接,我正在使用

Method m;
m = mmDevice.getClass().getMethod("createRfcommSocket",
new Class[] { int.class });

tmp = (BluetoothSocket) m.invoke(mmDevice, 1); 

使用此代码,我可以连接到设备。但是在这行bytes = mmInStream.read(缓冲区),我得到异常,每分钟几分钟。我可以用

if(mmInStream.available() > 0) {
bytes = mmInStream.read(buffer);
} 

但如果我把条件放在这里,它无法理解设备是否仍与其他设备连接。因为不会发生异常。 我找不到解决方案并试了2天。但是我找不到解决方案。

你能帮帮我吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

我遇到了与蓝牙广播后启动的服务器相同的问题。解决方案是在服务器通过BluetoothServerSocket.accept()建立连接后发送一个字节。客户端在BluetoothSocket.connect()之后读取一个字节。所以两端都是同步的。