我遇到了一个问题,当我调用sock.connect()时,它会无限期地挂起。没有异常和超时。
try
{
Method m = dev.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
sock = (BluetoothSocket) m.invoke(dev, 1);
sock.connect();
Thread.sleep(100);
in = sock.getInputStream();
out = sock.getOutputStream();
}
catch(ConnectTimeoutException ex)
{
return false;
}
catch(IOException ex)
{
return false;
}
catch(Exception ex)
{
return false;
}
原因是另一个应用程序已经在使用蓝牙设备。我试图使我的连接失败,至少抛出异常或其他提示,让我知道该设备已被另一个应用程序使用。
有其他建议可以解决这个问题吗?
谢谢。