В моем приложении для Android соединение BLE работает успешно, как только устройство BLE подключено к телефону Android. Как программно изменить имя подключенного устройства BLE? Пример кода, как показано нижеКак изменить подключенное имя устройства BLE на Android программно?
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));
Log.v(TAG, "writeCharacteristic(DeviceName) = " + mBluetoothGatt.writeCharacteristic(DeviceName));
Здесь mBluetoothGatt.writeCharacteristic (DEVICENAME); способ всегда возвращает false.
После некоторых исследований я нашел решение ниже
Вам нужно изменить прошивку CC2541 брелока, чтобы добавить разрешение на запись имени устройства путем добавления кода ниже в KeyFobApp_Init() внутри keyfobdemo.c:
uint8 devNamePermission = GATT_PERMIT_READ|GATT_PERMIT_WRITE;
GGS_SetParameter(GGS_W_PERMIT_DEVICE_NAME_ATT, sizeof (uint8), &devNamePermission);
Теперь, мой вопрос: где мы должны добавить эти разрешения?
Возможно, кто-нибудь скажет мне, как добавить эти пения?
Заранее благодарен
спасибо, Позвольте мне попробовать – sandeepmaaram