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;
}
その理由は、別のアプリが既に Bluetooth デバイスを使用しているためです。接続を失敗させ、少なくとも例外または何かをスローして、デバイスが別のアプリで既に使用されていることを知らせようとしています。
これに近づくための他の提案はありますか?
ありがとう。