HarmonyOS 鸿蒙Next如何监听设备连接或断开了USB

HarmonyOS 鸿蒙Next如何监听设备连接或断开了USB 我的应用是一个工具类应用, 我想在 app 打开期间, 在用户插上 USB 或者断开时, 给予用户提醒, 并推荐一些相关的操作.

所以想问一下 HarmonyOS NEXT 是否提供了相应的能力, 使用 app 可以监听设备是否连接或者断开了 USB?

2 回复

USB设备插拔监听,可以参考以下demo

import CommonEventManager from '@ohos.commonEventManager';
import Base from '@ohos.base';
import { Prompt } from '@kit.ArkUI';
@Entry
@Component
struct Index {
  subscriber: CommonEventManager.CommonEventSubscriber | undefined;
  build() {
    Column() {
      Row() {
        Text('Hello World');
        Button('监听usb')
          .onClick(() => {
            let subscribeInfo:CommonEventManager.CommonEventSubscribeInfo = {
              events: [CommonEventManager.Support.COMMON_EVENT_USB_STATE]
            };
            let createCB = (err:Base.BusinessError, commonEventSubscriber:CommonEventManager.CommonEventSubscriber) =>{
              if(!err) {
                console.info("createSubscriber");
                this.subscriber = commonEventSubscriber;
                CommonEventManager.subscribe(this.subscriber, (err: Base.BusinessError, data: CommonEventManager.CommonEventData) => {
                  if (err) {
                    console.error(`Failed to subscribe common event. Code is ${err.code}, message is ${err.message}`);
                    return;
                  } else {
                    console.info(`CommonEventAndNotification: requestEnableNotification....${JSON.stringify(data)}`)
                    Prompt.showToast({
                      message: 'emm: ' + JSON.stringify(data)
                    })
                  }
                })
              } else {
                console.error(`createSubscriber failed, code is ${err.code}, message is ${err.message}`);
              }
            }
            try {
              CommonEventManager.createSubscriber(subscribeInfo, createCB);
            } catch (error) {
              let err:Base.BusinessError = error as Base.BusinessError;
              console.error(`createSubscriber failed, code is ${err.code}, message is ${err.message}`);
            }
          })
      }
      .height('100%')
    }
    .width('100%')
  }
}

USB子系统公共事件请参考以下文档: https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commonevent-usb-0000001813416732

更多关于HarmonyOS 鸿蒙Next如何监听设备连接或断开了USB的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,监听设备连接或断开USB的功能通常涉及到系统服务或特定的API调用。以下是如何实现这一功能的基本思路:

HarmonyOS提供了丰富的系统API来管理设备的硬件连接状态,包括USB设备的连接与断开。为了实现监听功能,开发者需要利用这些API来注册监听器或回调。

具体来说,你可以通过以下步骤来实现:

  1. 获取USB管理器:首先,你需要通过系统服务获取USB管理器实例。这通常是通过调用系统服务接口并传入相应的服务名称来完成的。

  2. 注册监听器:获取USB管理器后,你可以注册一个监听器来监听USB设备的连接和断开事件。这个监听器会接收来自USB管理器的通知,并根据通知的类型(连接或断开)执行相应的操作。

  3. 处理事件:在监听器的回调方法中,根据事件类型(连接或断开),你可以执行相应的逻辑处理,比如更新UI、记录日志或触发其他业务逻辑。

请注意,具体的API调用和参数可能会根据HarmonyOS的版本和设备的不同而有所差异。因此,在实现时,建议参考最新的HarmonyOS开发文档和API指南。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部