在低功耗蓝牙中写入特性是否正确?

时间:2016-09-13 01:18:55

标签: android bluetooth bluetooth-lowenergy

我在MainActivity中有一个按钮,用于将<Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Write Char" android:id="@+id/button2" android:onClick="onClickWrite" /> 写入BLE设备:

onClickWrite

函数public void onClickWrite(View v){ if(mBluetoothLeService != null) { byte [] data= new byte[3]; data[0] = (byte)(0 & 0xFF); data[1] = (byte)(255 & 0xFF); data[2] = (byte)(0 & 0xFF); mBluetoothLeService.sendData(data); } }

sendData

其中[BluetoothLeService][1]是类sendData中的修改函数。按下按钮时效果很好。但是,让我们仔细看看public void sendData(byte[] data){ String lService = "00001c00-d102-11e1-9b23-00025b00a5A5"; String lCharacteristic = "00001c03-d102-11e1-9b23-00025b00a5a5"; BluetoothGattService mBluetoothLeService = null; BluetoothGattCharacteristic mBluetoothGattCharacteristic = null; for (BluetoothGattService service : mBluetoothGatt.getServices()) { if ((service == null) || (service.getUuid() == null)) { Log.d("TAG","Something is null"); continue; } if (lService.equalsIgnoreCase(service.getUuid().toString())) { Log.d("TAG","service.getUuid().toString()="+service.getUuid().toString()); mBluetoothLeService = service; } } if(mBluetoothLeService!=null) { mBluetoothGattCharacteristic = mBluetoothLeService.getCharacteristic(UUID.fromString(lRgbCharacteristic)); } else{ Log.d("TAG","mBluetoothLeService is null"); } if(mBluetoothGattCharacteristic!=null) { mBluetoothGattCharacteristic.setValue(data); boolean write = mBluetoothGatt.writeCharacteristic(mBluetoothGattCharacteristic); Log.d("TAG","writeCharacteristic:"+write); } else{ Log.d("TAG", "mBluetoothGattCharacteristic is null"); } } 函数。当我按下按钮时,它再次搜索服务和特征。在BLE中写一个特征是正确的程序吗?

NSNumber *num = [NSNumber numberWithInt:496];
NSLog(@"Object in Array 2 %@",[self.tileProperties objectForKey:num]);

2016-09-12 18:14:43.217 GreatGrimBeta[1156:149732] LOOK {
    fire = 7;
}

1 个答案:

答案 0 :(得分:1)

是。

(填写不必要的长度)