Написать характеристику BLE в Android - PullRequest
0 голосов
/ 06 июля 2019

Я могу прочитать характеристику, но не могу написать

Я использую функцию GattCallback, и я определил и объявил все необходимые свойства внутри этой функции, но каким-то образом функция записи не запускается

Вот моя функция Gattcallback

private BluetoothGattCallback bleGattCallback = new BluetoothGattCallback() {
    @Override
    public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {

        gatt.discoverServices();
        super.onConnectionStateChange(gatt, status, newState);
    }

    @Override
    public void onServicesDiscovered(BluetoothGatt gatt, int status) {

        BluetoothGattService service = gatt.getService(UUID_Service);
        BluetoothGattCharacteristic charc= service.getCharacteristic(UUID_characteristic);
        gatt.writeCharacteristic(charc);
        super.onServicesDiscovered(gatt, status);
    }

    @Override
    public void onCharacteristicRead(BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic, int status) {
        super.onCharacteristicRead(gatt, characteristic, status);
    }

    @Override
    public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {


        BluetoothGattService service = gatt.getService(UUID_Service);


        int data1 = 02;
        int data2 = 40;
        int data3 = 0;

         data1 = BluetoothGattCharacteristic.FORMAT_UINT8;
         data2 = BluetoothGattCharacteristic.FORMAT_UINT8;
         data3 = BluetoothGattCharacteristic.FORMAT_UINT8;

        byte[] value = new byte[]{(byte)data1 , (byte)data2 ,(byte)data3};

        characteristic.setValue(value);
        characteristic.setWriteType(BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE);
        runOnUiThread(new Runnable() {
            @Override
            public void run() {

                Toast.makeText(MainActivity.this,"completed!", Toast.LENGTH_SHORT).show();
            }
        });




        super.onCharacteristicWrite(gatt, characteristic, status);

    }
};

Я ожидал запустить функцию записи, но я могу только подключить устройство. Как я могу решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...