BLEデバイスと通信するためにアンドロイドアプリを作成しています。アプリは、IOSバージョンのレクリエーションであるが、任意の書き込み要求がGATT_REQUEST_NOT_SUPPORTEDGATT_REQUEST_NOT_SUPPORTEDこれ以上の情報はありませんか?
をrecievesオブジェクティブCコードconst uint8_t bytes[] = {0x01,0x02,0x00,0x00};
NSData *data = [NSData dataWithBytes:bytes length:sizeof(bytes)];
[_device writeValue:data forCharacteristic:_dataCommsCharacteristic type:CBCharacteristicWriteWithResponse];
同等のAndroid/Javaコード作業onCharacteristicWrite
内部GATT_REQUEST_NOT_SUPPORTED応答を上昇させます
byte bytes[] = {0x01,0x02,0x00,0x00}; dataCommsCharacteristic.setValue(bytes); boolean writeStatus = mGatt.writeCharacteristic(dataCommsCharacteristic);
@Override
public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic
characteristic, int status) {
if (status == BluetoothGatt.GATT_REQUEST_NOT_SUPPORTED){
Log.d(TAG,"Request not supported");
}
}
私はここで驚くほど明白な何かが欠けていますか?私には上記の2つのスニペットは本質的に同じものですが、デバイスはアンドロイドを認識しませんが、iOSを認識します。
ご意見は大変ありがとうございます。
iOSが自動的にセキュリティレベルを上げている可能性があります(いずれの実装の詳細についても何もわかっていませんが、そのエラーは必要なセキュリティレベルよりも低いセキュリティレベルで要求することに関連することがあります) –