我正在编写一个连接到蓝牙设备的应用程序,然后发送一条消息并获得答案。这是我用来获得答案的代码:
StringBuilder res = new StringBuilder();
while ((char) (b = (byte) in.read()) != '>') {
if ((char) b != ' ') {
res.append((char) b);
}
}
rawData = res.toString().trim();
基本上,它将每个字符一个一个地添加到 StringBuilder
当有答案时,没问题,它就起作用了。但问题是当设备没有应答时(因为无论如何连接都丢失了)。
如何限制等待角色的时间?
编辑 :
这是我的蓝牙连接
final BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
_dev = btAdapter.getRemoteDevice(remoteDevice);
try {
Method m;
m = _dev.getClass().getMethod("createRfcommSocket", new Class[] { int.class });
_sock = (BluetoothSocket) m.invoke(_dev, 1);
_sock.connect();
setState(STATE_CONNECTED);
sockIn = _sock.getInputStream();
sockOut = _sock.getOutputStream();
} catch (Exception e) {
closeConnection();
}