5

Android 4.3 の新しい ble API を使用しています。LE デバイスからスキャン、接続、特性の発見などを行うことができます。

特性値を読み取る場合、一部の特性では応答が得られますが、他の特性では応答が得られません。// デバイスの障害であると推測します

問題は書き込み操作にあります。デバイスには、書き込みプロパティを持つ 2 つの特性があります。それらを書き込もうとすると、2つのケースがランダムに発生します-

  1. onWriteCharacteristicは呼び出されず、値はデバイスに変更されません。
  2. WriteTypeがWRITE_TYPE_NO_RESPONSEに設定されているにもかかわらず、 onWriteCharacteristic が成功ステータスで呼び出されていますが、値は変更されていません。

一部の非 4.3 アプリは、特性値を正常に変更しています。したがって、デバイスの障害ではないと思います。

洞察や助けをいただければ幸いです。

編集 1: これは、デバイスに特性を書き込もうとしているときのログのスニペットです。

08-26 10:59:49.181: D/BluetoothGatt(13516): writeCharacteristic() - uuid: 00002a06-0000-1000-8000-00805f9b34fb
08-26 10:59:49.181: D/BtGatt.GattService(1082): writeCharacteristic() - address=CC:AB:96:49:4C:9F
08-26 10:59:49.181: D/BtGatt.btif(1082): btif_gattc_write_char
08-26 10:59:49.181: D/BtGatt.btif(1082): btgattc_handle_event: Event 1015
08-26 10:59:49.181: D/BtGatt.btif(1082): btif_gattc_upstreams_evt: Event 4
08-26 10:59:49.181: D/BtGatt.GattService(1082): onWriteCharacteristic() - address=CC:AB:96:49:4C:9F, status=0
08-26 10:59:49.181: I/MainActivity(13516): Writing characteristic Initiated for Alert Level:true
08-26 10:59:49.191: D/BluetoothGatt(13516): onCharacteristicWrite() - Device=CC:AB:96:49:4C:9F UUID=00002a06-0000-1000-8000-00805f9b34fb Status=0
08-26 10:59:49.191: I/MainActivity#onWrite(13516): Immediate Alert Service characteristic - Alert Level value in string:  value in hex: 02

WriteType は WRITE_TYPE_NO_RESPONSE に設定されていますが、まだ onWriteCharacteristic 呼び出しを取得していますが、値はデバイスに変更されていません。

誰でも助けてもらえますか?

編集 2: nexus-4 でアプリをテストしていましたが、この電話でも同じ問題が発生しますが、コードは Samsung S4 で正常に動作し、LE デバイスに特性値を書き込むことができます。それはNexus-4の問題ですか?しかし 、ここにいるこの男は、Nexus-4 で書くことができたと言っています

4

0 に答える 0