0

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 に関する詳細はどこで入手できますか?

このアプローチに関する追加のコメントをいただければ幸いです。

4

1 に答える 1