RxBluetooth
RxBluetooth copied to clipboard
Socket not created exception
I am getting following exception when I'm not able to connect to bluetooth device and then I navigate to some other page. Is there any way to catch this exception in my code?
E/System:Uncaught exception thrown by finalizer E/System: java.io.IOException: socket not created at android.net.LocalSocketImpl.shutdownInput(LocalSocketImpl.java:404) at android.net.LocalSocket.shutdownInput(LocalSocket.java:207) at android.bluetooth.BluetoothSocket.close(BluetoothSocket.java:801) at android.bluetooth.BluetoothSocket.finalize(BluetoothSocket.java:309) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:222) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:209)
mSubscriptionConnectDevice = mRxBluetooth.observeConnectDevice(mBluetoothDevice, uuid)
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.computation())
.subscribe(new Action1 < BluetoothSocket > () {
@Override
public void call(BluetoothSocket bluetoothSocket) {
try {
mBluetoothConnection = new BluetoothConnection(bluetoothSocket);
startReadingBluetoothData(); // this method starts read data subscription
} catch (Exception e) { // This didn't catch any exception
Log.e(TAG, "Error bluetooth connection:" + e.getMessage());
if (bluetoothSocket != null) {
try {
bluetoothSocket.close();
} catch (IOException e1) {
Log.e(TAG, "IOException: " + e1.getMessage());
}
}
}
}
}, new Action1 < Throwable > () {
@Override
public void call(Throwable throwable) {
Log.e(TAG, "Error bluetooth connection: " + throwable.getMessage()); // I get this log message before getting that IOException : socket not created
}
});
Actually, I'm trying to implement auto connect; so trying to reconnect the previously connected device in my service and i see this error if the bluetooth device is not in range or turned off.
I try to do the same thing and meet the same question. Did you solve it?