feat(ch934x_serial): 添加CH934X串口设备权限管理和端口切换功能

- 新增 setActivePort 方法用于在同一USB设备内部切换活跃串口
- 新增 requestUsbPermission 方法用于主动申请指定设备的USB权限
- 实现Android侧USB权限申请广播接收器和同步等待机制
- 在示例应用中集成权限预申请和端口切换UI逻辑
- 优化设备打开后自动拉取真实串口列表的功能
- 更新端口选择下拉框在打开状态下支持实时切换串口
This commit is contained in:
Developer
2026-07-06 16:58:51 +08:00
parent 90de9121ff
commit 76377e52f2
6 changed files with 276 additions and 13 deletions
+15
View File
@@ -60,6 +60,21 @@ class Ch934xSerial {
/// 关闭当前会话最近一次打开的串口。
Future<bool> closePort() => _platform.closePort();
/// 切换当前活跃串口(同一 UsbDevice 内部的不同串口)。
///
/// CH934X 设备一次 `openPort` 之后所有串口已连接,后续
/// 读写只需切换 `serialPortIndex`,无需重新 open。
Future<bool> setActivePort(int serialPortIndex) =>
_platform.setActivePort(serialPortIndex);
/// 主动申请指定设备的 USB 权限。
///
/// 正常情况下 `openPort` 内部会自动申请,本方法用于业务
/// 方希望提前引导用户授权的场景,例如在主界面"刷新设备
/// 列表"之后立刻弹一次授权请求。
Future<bool> requestUsbPermission(int deviceId) =>
_platform.requestUsbPermission(deviceId);
// ---------------------------------------------------------------------------
// 串口读写
// ---------------------------------------------------------------------------