問題タブ [bluetooth-gatt]
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.
android - GATT 内部エラー 129
Marshmallow デバイスを使用して BLE アプリケーションを開発しています。onServicesDiscovered() メソッドで何度もステータス コード 129 を受け取ります。3 つの異なるデバイスでテストしましたが、すべてのデバイスで同じ問題が見つかりました。これはランダムな問題です。多くのフォーラムを検索しましたが、まだ解決策が見つかりませんでした。
私が試したことは次のとおりです。 1. リフレクションを使用して Gatt キャッシュを更新します。2. アプリケーションの再インストール。3. BLE デバイスのペアリング解除とペアリング。4. Bluetooth と Wi-Fi のオン/オフ。この問題を解決するには、電話を再起動するだけです。ただし、アプリケーションが BLE デバイスに接続できない場合、ユーザーに電話の再起動を求めることはできません。
この問題の根本的な原因は何ですか? これに対する解決策はありますか?
これについても、Android オープン ソース コードを確認しました。ステータス コードの次の URL を見つけました。
どなたかヒントや解決策を教えてください。
android - Android BLE: ENABLE_NOTIFICATION_VALUE 値を BluetoothGattDescriptor に正常に書き込みますが、onCharacteristicChanged は起動しません
iOS および Android 7.0 の特定のサービス/特性 UUID で正常に動作する BLE 周辺機器があります。Android 6.0 Marshmallow では、記述子に ENABLE_NOTIFICATION_VALUE を設定しても、onCharacteristicChanged メソッドは起動しません。Android OS 6.0 Marshmallow を実行している Android デバイスで onCharacteristicChanged を起動する方法を教えてください。通知を機能させるために使用しているコードは次のとおりです。
上記のコードでは、setCharacteristicNotification 呼び出しと writeDescriptor 呼び出しの両方が成功を返します (1 / true / など)。さらに、onDescriptorWrite コールバックは GATT_SUCCESS を返します。ただし、コードの後半で記述子を読み取ると、通知値がまだ無効に設定されていることがわかります。setCharacteristicNotification 呼び出しと writeDescriptor 呼び出しの間に遅延を置くなど、多くの解決策を試しましたが、この問題の解決策は見つかりませんでした。問題の周辺機器とのペアリングは問題ありませんが、通知を取得することはどういうわけか不可能のようです. ヒントをいただければ幸いです。