Есть ли какой-нибудь подход, чтобы проверить, включен ли экземпляр RxBleConnection
или был отключен? Или, может быть, какое-то уведомление отслеживать момент разъединения?Как проверить статус RxBleConnection
ответ
RxBleConnection экземпляр появляется в методе onConnectionReceived, когда соединение успешно, если BLE разъединены, RxBleConnection будет не в состоянии выполнить любую операцию, как для чтения/записи, которые могут быть захвачены обратного вызова, чтобы определить соединение не удалось
Однако лучший подход будешь проверять на связи не в состоянии обратного вызова он сам, чтобы определить соединение не является активным
Благодаря Swayam
Я предполагаю, что вы пытаетесь сохранить RxBleConnection
открытым в неактивном способе. В этой ситуации вам нужно будет следить за состоянием соединения самостоятельно. Вы можете сделать это с помощью вспомогательного класса:
static class ConnectionWithState {
RxBleConnection connection;
boolean isActive;
}
И при установлении соединения вобще:
final ConnectionWithState connectionWithState = new ConnectionWithState();
final Subscription connectionSubscription = bleDevice
.establishConnection(this, false)
.subscribe(
connection -> {
connectionWithState.connection = connection;
connectionWithState.isActive = true;
},
throwable -> connectionWithState.isActive = false,
() -> connectionWithState.isActive = false
);
И разъединитель бы нужно, чтобы вы отказаться от connectionSubscription
.
С наилучшими пожеланиями
- 1. Как проверить статус AVPlayer?
- 2. Как проверить статус опрокидывания?
- 3. Как проверить статус входа?
- 4. Как проверить статус namenode?
- 5. Как проверить статус панели
- 6. Как проверить статус раскадровки?
- 7. Как проверить статус URL
- 8. Как проверить статус приглашения?
- 9. Как проверить статус миграции?
- 10. Как проверить статус RegularExpressionValidator
- 11. Как проверить статус Resultset?
- 12. Как проверить статус синтаксиса?
- 13. Как проверить статус активности Bluemix?
- 14. MYSQL: Как проверить статус выхода?
- 15. Oracle: Как проверить статус индекса?
- 16. Как проверить статус лицензии Neo4J
- 17. Как проверить статус очереди dispatch_async?
- 18. Как проверить статус завершения LoadApplicationService?
- 19. как проверить статус внутри NSMutableArray
- 20. Как проверить статус сервера HAProxy?
- 21. Проверить раскрывающийся статус
- 22. Проверить статус onClickListener Android
- 23. Проверить статус документа DocuSign
- 24. JQuery проверить статус
- 25. Проверить статус малины pi
- 26. Проверить статус Войти колба
- 27. Проверить статус GMediaRenderer
- 28. Проверить статус повторяющихся записей
- 29. Проверить статус CheckBox - Javascript
- 30. Проверить статус подключения php
Какой обратный вызов? Я не помню таких в библиотеке –
Когда вы пытаетесь создать соединение, как показано ниже: - connectionSubscription = bleDevice.establishConnection (this, autoConnectToggleSwitch.isChecked()) . Подписка (это :: onConnectionReceived, this :: onConnectionFailure); в случае сбоя соединения вы получите обратный вызов в методе onConnectionFailure, из которого вы можете определить, нет ли активного соединения –