连接蓝牙,配网

This commit is contained in:
fengjignqi
2026-06-04 16:49:14 +08:00
parent 7e63101fc9
commit edfa6331f5
7 changed files with 45 additions and 16 deletions

View File

@@ -44,6 +44,7 @@ public class EspProvisionManager {
private boolean provisioning;
private boolean eventBusRegistered;
private boolean ignoreNextDisconnectEvent;
private boolean expectDisconnected; // 标记是否预期断开(配网成功后)
private String currentDeviceName;
private String currentDeviceType = ProvisionConfig.TRANSPORT_BLE;
@@ -328,7 +329,12 @@ public class EspProvisionManager {
boolean shouldNotify = connected || connecting || provisioning;
resetState();
if (shouldNotify) {
notifyDisconnected();
// 如果是配网成功后的预期断开,不发送断开回调
// 因为 onSuccess 已经通知过了
if (!expectDisconnected) {
notifyDisconnected();
}
expectDisconnected = false; // 重置标志
}
break;
@@ -364,6 +370,7 @@ public class EspProvisionManager {
connected = false;
provisioning = false;
ignoreNextDisconnectEvent = false;
// expectDisconnected 保持不变,用于断开回调判断
}
private ESPConstants.SecurityType parseSecurityType(int securityType) {
@@ -379,6 +386,7 @@ public class EspProvisionManager {
private void finishProvisionSuccess() {
mainHandler.removeCallbacks(provisionTimeoutTask);
provisioning = false;
expectDisconnected = true; // 标记为预期断开
notifyProvisioning(100);
notifySuccess();
}