BLE Notification замораживает все остальные действия, читайте характеристики - PullRequest
0 голосов
/ 30 сентября 2018

После того, как Уведомление включено с

 BluetoothGatt gatt= leBluetoothService.getmBluetoothGatt();
        gatt.setCharacteristicNotification(chracteristicId, enable);
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }



        BluetoothGattDescriptor descriptor = chracteristicId.getDescriptor(
                UUID.fromString(SampleGattAttributes.CLIENT_CHARACTERISTIC_CONFIG));
        descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
        gatt.writeDescriptor(descriptor);

Я не смог прочитать данные из любой другой характеристики.Замораживает все характеристики.почему это так?и после того, как Уведомление включено, оно также не считывает данные из этой характеристики.

Редактировать:

после вызова установленного уведомления все чтение и уведомление начинает накапливаться вместо его выполнения.Я использовал синхронизированный статический метод для каждой операции.

  public static void AddOperation(Operation opr) {
        operations.add(opr) ;
        Log.d("operations",String.valueOf(operations.size()));
        if (currentOperation ==null){
            currentOperation = opr;

            request(opr);


        }
    }

    private static synchronized void request(Operation operation) {
        Log.d("kala", ""+operation);
        operation.execute();


    }
    public static synchronized void operationCompleted() {
        currentOperation = null;
        if (operations.peek() != null) {
            currentOperation = operations.poll();
            Log.d("kalaa", ""+currentOperation);
            currentOperation.execute();
        }

    }

все операции чтения работают хорошо, но если свойство имеет свойство уведомления, операции начинают накапливаться.Есть ли способ увидеть, когда уведомление установлено?

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