Как обнаружить сбой канала Bluetooth RFCOM из приложения Android
У меня есть приложение, в котором иногда происходит сбой каналов Bluetooth со слоя ОС, а затем канал Bluetooth не начинает работать снова, пока телефон не перезагрузится. Поскольку это сбой уровня ОС, я не могу обнаружить / обработать его из моего приложения. Вот авария:
02-20 05:32:45.751: I/BluetoothServiceJni(20779): SOCK FLAG = 3 ***********************
02-20 05:32:45.751: E/BluetoothServiceJni(20779): Socket listen failed: 2
02-20 05:32:45.751: E/BluetoothAdapterService(1918354448)(20779): Failed to create socket channel
02-20 05:32:45.751: E/BluetoothSocketThread(762): Failed to listen for Bluetooth server socket connect.
02-20 05:32:45.751: E/BluetoothSocketThread(762): java.io.IOException: Error: -1
02-20 05:32:45.751: E/BluetoothSocketThread(762): at android.bluetooth.BluetoothAdapter.createNewRfcommSocketAndRecord(BluetoothAdapter.java:1245)
02-20 05:32:45.751: E/BluetoothSocketThread(762): at android.bluetooth.BluetoothAdapter.listenUsingRfcommWithServiceRecord(BluetoothAdapter.java:1161)
02-20 05:32:45.751: E/BluetoothSocketThread(762): at com.google.glass.bluetooth.BluetoothAdapter.listenUsingRfcommWithServiceRecord(BluetoothAdapter.java:148)
02-20 05:32:45.751: E/BluetoothSocketThread(762): at com.google.glass.bluetooth.companion.BluetoothSocketThread.runInternally(BluetoothSocketThread.java:67)
02-20 05:32:45.751: E/BluetoothSocketThread(762): at com.google.glass.bluetooth.companion.CompanionServerThread.run(CompanionServerThread.java:61)
02-20 05:32:45.761: W/BluetoothAdapter(762): getBluetoothService() called with no BluetoothManagerCallback
Мой вопрос, есть ли способ обнаружить сбой, связанный с ОС канала Bluetooth, из моего приложения. Можно ли обнаружить сбой, используя встроенную поддержку Fabric Crashlytics или что-то еще?