この質問はここで始まりましたhereこれは赤いニシンのようです!Android BLE書き込みバイト[](符号なしの値を含む)
問題は、BLEデバイスに書き込む必要がある値のバイト配列があることです。
byte bytes[] = {0x04,0x08,0x0F,0x66,(byte)0x99,0x41,0x52,0x43,0x55,(byte)0xAA};
ch.setValue(bytes);
私はこの配列の出力をログに記録した場合、私は(負の値に注意してください)取得:
[4, 8, 15, 102, -103, 65, 82, 67, 85, -86]
しかし、理論的にはこれが唯一の値のJavaの表現でなければならないと認識さに影響を与えるべきではありません値はBluetoothデバイスに当たったが、そうではないようだ。
これらの値はメーカーが要求しているため変更できませんが、2つの値は符号なしバイト/ intの範囲外です。これがデバイスがisnではない理由であるようですコマンドを認識できません。
このコマンドを特性に書き込むと、成功コードが0(成功)になりますが、デバイスはコマンドに応答しません。
私の質問は正しい方法でこれを送っているのですか?または、内部に含まれる知覚された値を維持するためにバイト配列をフォーマット/処理する必要がありますか?
アドバイスをいただければ幸いです!
「私の質問は正解です」もちろん、そのことはわかりません。あなたのコードが見える場合に限ります。 – greenapps
申し訳ありませんが、私は空気中で送信する前にバイト[]を処理してはならないことを確認することを意味していました。 –