Я разрабатываю приложение, в котором мне нужно подключиться к устройству Bluetooth на Android 4.3.Как изменить название устройства с низким энергопотреблением bluetooth в Android 4.3?
И я хочу изменить имя CC2541 Keyfob через приложение Android.
Я пытаюсь использовать 0x2A00 для получения службы имени устройства, но он не работает, когда я вызываю функцию Device_Name.
Служба Name_Service имеет значение null.
private static final UUID Device_Name_UUID = UUID.fromString("00002a00-0000-1000-8000-00805f9b34fb");
private static final UUID Write_UUID = UUID.fromString("00001800-0000-1000-8000-00805f9b34fb");
public void Device_Name(){
BluetoothGattService Name_Service = mBluetoothGatt.getService(Write_UUID);
if(Name_Service == null) {
Log.d(TAG, "Name_Service service not found!");
return;
}
BluetoothGattCharacteristic DeviceName = Name_Service.getCharacteristic(Device_Name_UUID);
if(DeviceName == null) {
Log.d(TAG, "DeviceName charateristic not found!");
return;
}
}
Log.v(TAG, "readCharacteristic(DeviceName) = " + mBluetoothGatt.readCharacteristic(DeviceName));
String i = "123";
DeviceName.setValue(i);
Log.v(TAG, "writeCharacteristic(DeviceName) = " + mBluetoothGatt.writeCharacteristic(DeviceName));
Я могу прочитать имя из BLE устройства, но показать writeCharacteristic (DeviceName) является ложным, когда я использую mBluetoothGatt.readCharacteristic (DEVICENAME).
Кто-нибудь пытается использовать UUID (0x2A00) имени устройства, чтобы записать имя в устройство BLE?
У вас открыл услуги? Btw, соглашение об именах вашей переменной сбивает с толку. Старайтесь не использовать заглавную букву для первой буквы вашего имени переменной, так как это обычно указывает класс, а не переменную в java. – reTs
@reTs: Я изменяю код. Я могу получить службу и прочитать имя с устройства, но это неверно, когда я использую writeCharacteristic. – Wun