10という特徴的なプロパティをint変数charaPropに持ってきました。
final int charaProp = characteristic.getProperties();
そして、2(BluetoothGattCharacteristic.PROPERTY_READ) であるフィルタリング プロパティを int 変数プロパティに取り込みました。
final int property = BluetoothGattCharacteristic.PROPERTY_READ;
読み取りまたは書き込みのどちらを実行するかを確認するために、charaProp とプロパティのビット単位の AND 演算を行いました。
final int tmp = charaProp & property;
おかしなことに、結果が 0 になる AND 演算子が 2 を生成します。 スクリーン ショット
そして、フローは読み取りアクションを実行します。
if ((charaProp & BluetoothGattCharacteristic.PROPERTY_READ) > 0) {
mBluetoothLeService.readCharacteristic(characteristic);
}
なぜこれが起こるのか本当にわかりませんか?
私を助けてください。前もって感謝します!!!