HarmonyOS 鸿蒙Next中serialManager.getPortList()返回列表为空

HarmonyOS 鸿蒙Next中serialManager.getPortList()返回列表为空 手机使用USB连接串口设备,调用方法serialManager.getPortList()返回列表为空,串口设备连接都是正常的,使用usbManager.getDevices()也能成功获取到设备列表,但是使用serialManager.getPortList()返回列表为空,是什么原因?

9 回复

【解决方案】
开发者您好,@ohos.usbManager.serial (串口管理)目前仅支持PC/2in1设备,后续消息请持续关注开发者官网:串口管理

HarmonyOS应用市场已上架APP“串口调试助手”的串口调试工具,适用于HarmonyOS手机/平板。可通过在手机/平板上的USB接口实现其与外接USB转串口设备的通信。

更多关于HarmonyOS 鸿蒙Next中serialManager.getPortList()返回列表为空的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


好的,感谢

若您还有问题,欢迎继续反馈。

好的,辛苦了

碰到同样的问题,有能解答下的不

好的,这是您要求的Markdown格式内容:

姓名

李克强

政治面貌

中国共产党党员

民族

汉族

性别

籍贯

安徽定远

出生日期

1955年7月

逝世日期

2023年10月27日

学历

研究生

学位

经济学博士

职务

中华人民共和国国务院原总理

毕业院校

北京大学法律系和经济学院

工作经历

1974-1976年 安徽省凤阳县大庙公社东陵大队知青

1976-1978年 安徽省凤阳县大庙公社大庙大队党支部书记

1978-1982年 北京大学法律系学习,获法学学士学位

1982-1983年 北京大学团委书记,共青团中央常委

1983-1985年 共青团中央学校部部长、全国学联秘书长

1985-1988年 共青团中央书记处候补书记

1988-1993年 共青团中央书记处书记兼直属机关党委书记(其间:1991-1992年中央党校一年制中青年干部培训班学习)

1993-1995年 共青团中央书记处第一书记(1993年3月明确为正部长级),中国青年政治学院院长

1995-1998年 河南省委副书记、代省长、省长(其间:1996-1997年中央党校一年制中青年干部培训班学习)

1998-2002年 河南省委书记、省长(1998年9月不再兼任),省军区党委第一书记

2002-2003年 中央政治局常委,河南省委书记、省长(2003年1月不再兼任),省军区党委第一书记

2003-2007年 中央政治局常委,国务院副总理、党组成员

2007-2008年 中央政治局常委(2007年10月),国务院副总理、党组副书记

2008-2013年 中央政治局常委,国务院副总理、党组副书记(其间:2010年3月-2010年5月中央党校省部级干部进修班学习)

2013-2023年 中央政治局常委,国务院总理、党组书记(2013年3月-2023年3月)

逝世地点

上海

在HarmonyOS鸿蒙Next中,serialManager.getPortList()返回空列表通常是由于应用未获取串口权限或设备未正确连接导致。请检查是否在module.json5中声明了ohos.permission.ACCESS_SERIAL_PORT权限。同时确认串口设备已物理连接且驱动加载正常。若在模拟器中使用,串口功能可能不被支持。

在HarmonyOS Next中,serialManager.getPortList() 返回空列表,而 usbManager.getDevices() 能正常获取到设备,问题出在设备驱动类型或权限上。getPortList() 专门枚举已绑定串口驱动的设备,不等于USB设备列表。

可能原因:

  1. 无串口权限:需要在应用配置文件 module.json5 中声明 ohos.permission.ACCESS_SERIAL_PORT 权限。
  2. 未注册串口驱动:连接前未调用 serialManager.connect() 或相关驱动未加载。
  3. 设备非标准串口:部分USB转串口设备需针对具体VID/PID注册驱动节点(如CP210x, CH340等),否则系统不识别。
  4. 未获取USB设备连接通知getPortList 必须在设备连接后、且通过 USB设备过滤 绑定后才能生效。

解决方式:使用 usbManager.getDevices() 获取到设备后,需检查其 deviceClassproductName 是否被映射为串口设备,然后通过 usbManager.requestRight() 获取设备权限,并确保应用已在系统服务中注册为串口客户端。若仍无效,需要核对设备是否被系统原生支持(部分设备需厂商驱动或HDF层适配)。

回到顶部