Я подключал устройство 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 во время отключения.