# 连接超时故障排除指南

## 问题描述
应用尝试连接到目标设备 `A4:C3:37:86:9F:73` 时出现连接超时错误。

## 日志分析

### 关键日志信息
```
尝试直接连接到设备: A4:C3:37:86:9F:73
on_create_connection_timeout, address: a4:c3:37:86:9f:73
Connection failed le remote:a4:c3:37:86:9f:73
status=147 clientIf=16 connected=false
```

### 问题分析
- **连接启动成功** - 应用成功发起连接请求
- **30秒超时** - 连接在30秒后超时
- **状态码147** - 表示连接失败
- **LE连接失败** - 低功耗蓝牙连接失败

## 可能原因及解决方案

### 1. 目标设备蓝牙设置问题

#### 检查项目：
- [ ] 蓝牙已开启
- [ ] 设置为"可发现"模式
- [ ] 未与其他设备连接
- [ ] 蓝牙服务正常运行

#### 解决步骤：
1. **打开目标手机设置**
2. **进入蓝牙设置**
3. **确保蓝牙已开启**
4. **设置为"始终可见"或"可发现"**
5. **断开其他蓝牙连接**

### 2. 设备距离和干扰

#### 检查项目：
- [ ] 设备距离在10米内
- [ ] 无金属屏蔽物
- [ ] 远离其他蓝牙设备
- [ ] 无WiFi干扰

#### 解决步骤：
1. **将两台设备靠近**（1-2米内）
2. **移除金属物品**
3. **关闭其他蓝牙设备**
4. **尝试不同位置**

### 3. 系统蓝牙服务问题

#### 检查项目：
- [ ] 系统蓝牙服务正常
- [ ] 蓝牙权限已授予
- [ ] 无其他应用占用蓝牙

#### 解决步骤：
1. **重启两台设备的蓝牙**
2. **检查应用权限**
3. **关闭其他蓝牙应用**
4. **重启设备**

### 4. 设备兼容性问题

#### 检查项目：
- [ ] 目标设备支持BLE
- [ ] 设备型号和Android版本
- [ ] 蓝牙协议兼容性

#### 解决步骤：
1. **确认设备支持BLE**
2. **更新系统版本**
3. **尝试传统蓝牙连接**
4. **使用系统蓝牙设置测试**

## 增强的连接功能

### 新增功能：
1. **详细状态提示** - 显示连接进度和注意事项
2. **自动重试机制** - 超时后自动尝试传统蓝牙连接
3. **错误状态码解析** - 根据状态码提供具体建议
4. **连接超时设置** - 30秒BLE + 15秒传统蓝牙

### 连接流程：
```
开始连接 → BLE连接(30秒) → 超时重试 → 传统蓝牙(15秒) → 最终结果
```

## 测试步骤

### 第一步：基础检查
1. **确认目标设备蓝牙开启**
2. **设置为可发现模式**
3. **断开其他连接**
4. **将设备靠近**

### 第二步：系统测试
1. **在系统蓝牙设置中扫描**
2. **查看是否发现目标设备**
3. **尝试手动配对**
4. **记录配对结果**

### 第三步：应用测试
1. **启动应用**
2. **长按"连接蓝牙"按钮**
3. **输入MAC地址：A4:C3:37:86:9F:73**
4. **观察连接过程**

### 第四步：日志分析
1. **查看应用状态信息**
2. **检查Logcat日志**
3. **记录错误信息**
4. **分析失败原因**

## 常见错误码及含义

| 状态码 | 含义 | 解决方案 |
|--------|------|----------|
| 0 | 正常断开 | 检查设备状态 |
| 8 | 连接超时 | 检查设备可见性和距离 |
| 19 | 连接被拒绝 | 检查设备是否忙 |
| 22 | 连接失败 | 检查协议兼容性 |
| 147 | 连接失败 | 检查设备状态和设置 |

## 调试建议

### 1. 使用系统蓝牙测试
- 在系统蓝牙设置中手动连接
- 验证设备是否可见和可连接
- 确认配对是否成功

### 2. 检查设备信息
- 目标设备型号和Android版本
- 蓝牙芯片类型
- 支持的蓝牙协议

### 3. 环境测试
- 尝试不同位置
- 检查环境干扰
- 测试不同距离

### 4. 应用调试
- 查看详细日志
- 观察状态变化
- 记录错误信息

## 下一步操作

1. **按照上述步骤逐一检查**
2. **使用系统蓝牙设置测试连接**
3. **记录所有测试结果**
4. **如果问题持续，提供详细设备信息**

## 需要提供的信息

如果问题仍然存在，请提供：
1. **目标设备型号和Android版本**
2. **系统蓝牙设置测试结果**
3. **详细的错误日志**
4. **设备环境信息**
5. **测试步骤和结果**
