Как исправить автоматическое отключение устройства BLE в Android O +? - PullRequest
0 голосов
/ 13 февраля 2019

Я подключал устройство BLE к своему Android-приложению в течение многих дней, но когда я обновляю свое Android-приложение до уровня API 28, оно начинает автоматически отключаться через 12 часов на мобильных устройствах Android O +.

Я пыталсяизменив clientConfig.setValue (BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE) с clientConfig.setValue (BluetoothGattDescriptor.ENABLE_INDICATION_VALUE), но с помощью этого устройство BLE прекратит даже подключение.

Я не могу поделиться всей своей компанией, потому что не могу поделиться всей своей компаниейpolicy.

public boolean connect(final String address) {
    stopDemoReadings();
    if (mBluetoothAdapter == null || address == null) {
        //Log.d(TAG, "BluetoothAdapter not initialized or unspecified address.");
        return false;
    }

    // Previously connected device.  Try to reconnect.
    if (mBluetoothDeviceAddress != null && address.equals(mBluetoothDeviceAddress) && mBluetoothGatt != null) {
        //Log.d(TAG, "Trying to use an existing mBluetoothGatt for connection.");
        if (mBluetoothGatt.connect()) {
            mConnectionState = STATE_CONNECTING;
            return true;
        } else {
            return false;
        }
    }

    final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);
    if (device == null) {
        return false;
    }
    // We want to directly connect to the device, so we are setting the autoConnect
    // parameter to false.
    mBluetoothGatt = device.connectGatt(this, false, mGattCallback);
    //Log.d(TAG, "Trying to create a new connection.");
    mBluetoothDeviceAddress = address;
    mConnectionState = STATE_CONNECTING;
    return true;
}

Я получаю следующую ошибку внутри BluetoothGATT onClientConnectionState () - состояние = 22 clientIf = 8 во время отключения.

...