問題タブ [rxandroidble]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rxandroidble - autoconnect=true の場合の RxAndroidBLE BleGattException
autoconnect=true で確立された接続に関する通知を観察していると、しばらくするとステータス 19 の BleGattException が発生します。このソースによると、BLE デバイスが強制的に切断されたことを意味します。通常、最後の通知が受信されてから約 30 秒後に発生するため、デバイスがスリープ状態になると想定しています。ただし、この場合、指定されたタイプの接続に例外があってはならないようです...そのような動作の理由は何ですか?教えてください。
android - RxBleConnection.setupNotification は、2 つの特性のうち最初の特性に対してのみ機能します。
RxAndroidBle を使用して予期しない動作を理解するのに苦労しています。
問題の簡単な形式は、特定のデバイスの 2 つの特性から順に通知を受信する必要があるということです。以下の例では、SERVICE_UUID をスキャンし、CHARACTERISTIC_FOO_UUID と CHARACTERISTIC_BAR_UUID の通知を (順番に) セットアップします。両方の特性からの応答に基づいて何かを行う必要があります --- 私の例では、byte[] をメンバー変数に格納するだけです。
私が抱えている問題は、最初の特性は報告されますが、2 番目の特性は報告されないことです。順番を入れ替えても、チェーンの最初の特性になります。以下にデバッグ出力を示します。これは、低レベル記述子の書き込みを含む両方に対して通知呼び出しが発生することを示していますが、何らかの理由で 2 番目のものは報告されません。(私が Observable を購読していると仮定します。)
RxAndroidBleなしでこれを機能させることができました。RxAndroidBle を採用したバージョンも 1 つありますが、これは動作しますが、ConnectionSharingAdapter といくつかのサブスクリプションを使用して別の方法でセットアップされています。以下の例は、よりクリーンなアプローチの試みですが、私が言ったように、うまくいかないようです。
ここに RxBle デバッグ出力があります --- 出力の「CHARACTERISTIC_FOO_UUID」で実際の uuid を編集しました。
以下は、機能するが複数のサブスクリプションと ConnectionSharingAdapter を使用する RxAndroidBle を使用するバージョンの簡単な例です。両方のバージョンで、Observable は別の場所にサブスクライブされるため、複数のサブスクリプション (ここでは CompositeSubscription、別の場所では他のサブスクリプション) の簿記をすべて回避しようとしています。問題を抱えている上記のアプローチは、より機能的なようです。私の実際のアプリケーションでは、私がやっていることはもっと複雑なので、上記のバージョンは実際には理解しやすくなっています。
java - サブスクリプションのスロー可能な onError コンポーネントが期待どおりにコンパイルされない
Observable で RxAndroidBle 接続ステータスの監視を設定しようとしています。以下のコードはコンパイルできます (まだテストできません) が、その理由は完全にはわかりません。呼び出しの 2 番目のパラメーターは でsubscribe
あるはずAction1<java.lang.Throwable> onError
です。これを正しく実装しましたか?なぜ私はちょうど書くことができない
私が試してみると、2番目の「throwable」には「シンボル「throwable」を解決できません」というフラグが付けられ、「->」と「throw」の間で、右括弧、左中括弧、またはセミコロンのいずれかが必要であると表示されます。
TBH Action1<Throwable>
;の概念を理解するのに苦労しています。誰か説明してくれませんか?
更新:私はそれを理解したかもしれないと思います。そのようです:
(onCompleted() 呼び出し用に 3 番目のオプション ハンドラーも追加しました。)
android - BleScanException の原因を特定するにはどうすればよいですか?
RxAndroidBle を使用する最初の試み。特定の種類のデバイスの単一インスタンスのスキャン:
私の問題は、サブスクライブ呼び出しの「スロー可能な」コードにあります。BleScanException をスローできるようにしたいのですが、エラーの理由を説明する正しい整数パラメーターを取得する場所がわかりません。どうすればこれを見つけることができますか?
一般に、エラー時にサブスクライバーに渡される特定の Throwable に関する詳細はどこで入手できますか?
このアプローチに関する追加のコメントをいただければ幸いです。
java - 読み取りおよび書き込み操作中の Rxble からの 129 エラーおよび 133 エラー
BleGattException - 最初の読み書き操作中に発生し、正しく読み書きできる場合がありますが、デバイスを再接続するとこの例外が発生します...