2017-06-01 6 views
0

(有効な)UUIDを渡すときにscanBleDevicesメソッドを使用する際に問題があります。現在、私はスキャン、接続、読み取り/書き込みの通常のアンドロイドメソッドを使用して作業プロトタイプを作成していますが、RxAndroidBleの構文を更新して、より安全で読みやすいようにしたいと考えています。ここで RxAndroidBle scanBleDevices(UUID ...)発砲しない

は私RxAndroidBle実装です - 動作しない/サブスクライブ決して火災:

enter image description here

あなたは私のUUIDが間違っていると思って、しかし、ここで私は非常に使用したいくつかの代替的な実装であることもできますステートフル以前のバージョン - 同じUUID、この作品:

enter image description here

mLeScanCallbackが発生します。私はscanBleDevices()、なしのパラメータを使用している場合は、私はで私の希望rxBleScanResultを見つけることができ :私はRxAndroidBleバージョン1.2.2 &に自分の携帯電話を使用しています

は、いくつかの追加情報ネクサス6Pのアンドロイドのバージョン6.0.1

ですとにかくやっている製造データの中の何かをチェックする。しかし、私はUUIDも安全にフィルタリングしたいと思います。私が望むパッケージバイト[]を見つけたら、(廃止予定) new UUIDUtil().extractUUIDs(rxBleScanResult.getScanRecord())を使ってUUIDを抽出しようとしましたが、空のリストが返されました。ちょっとしたことを釘付けにするために、旧式のmLeScanCallbackを使用すると、上記のextractUUIDSも空のリストになります。

ありがとうございました!

答えて

1

これは実際にはRxAndroidBleライブラリのバグです。 Bluetooth広告からサービスUUIDを抽出することに責任があるUUIDUtilhttps://github.com/Polidea/RxAndroidBle/commit/ee59e0ab9ae3c483f5c4f35c7729e9fc2068ee21#diff-c7944d4c01c56adf4e6c67c7f7f737e8)のように、32ビットのUUIDが欠けていました。この修正は、リリースされたばかりのバージョン1.2.3に追加されました。

+0

これは機能します!ありがとうs_noopy! RxAndroidBleの健康に関するあなたの意見が不思議でした。彼らは物事を修理するのが非常に速いですが、生産準備が整っていないかもしれません。私はこのライブラリが大好きです。私はとにかくそれを先に進めると思います。 – Ethan

+0

実際には、ScanPackageバイト配列に基づくフィルタリングは、scanBleDevices(UUID ...)メソッドのフィルタリングと同じですか?しかたがない! – Ethan

+0

このライブラリは、すでにいくつかの異なるプロジェクトに使用されています。周辺機器がサービスを変更せず、暗号化された特性を使用しない場合(使用準備が整っています)、上記の問題は次の課題です。私はScanPackageの部分を取得しません。 –

関連する問題