RxAndroidBle を使用する最初の試み。特定の種類のデバイスの単一インスタンスのスキャン:
static boolean scanForDevice() {
asScanSubscription = asBleClient
.scanBleDevices( asServiceId ) // returns Observable<RxBleScanResult>
.first()
.map( rxBleScanResult -> rxBleScanResult.getBleDevice() ) // returns Observable of the one device
.subscribe( bleDevice -> asBleDevice = bleDevice, // save in a variable
throwable -> { throw new BleScanException( 0 ); },
( ) -> { throw new BleServiceNotFoundException( asServiceId ); } // didn't find it
);
return true;
}
私の問題は、サブスクライブ呼び出しの「スロー可能な」コードにあります。BleScanException をスローできるようにしたいのですが、エラーの理由を説明する正しい整数パラメーターを取得する場所がわかりません。どうすればこれを見つけることができますか?
一般に、エラー時にサブスクライバーに渡される特定の Throwable に関する詳細はどこで入手できますか?
このアプローチに関する追加のコメントをいただければ幸いです。