【发布时间】:2013-05-22 12:05:33
【问题描述】:
我正在编写一个连接到蓝牙设备的应用程序,然后发送消息并获得答案。这是我用来得到答案的代码:
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();
}
【问题讨论】:
-
你是如何连接蓝牙的?我认为您可以设置连接超时。