中国总决赛
全球总决赛
学习进度
完成
省赛
能力分类
主要子系统
能力模型
设备管理的概念,架构特点,设备管理基础功能

设备管理


OpenHarmony设备管理‌是指通过OpenHarmony系统提供的机制和工具,对设备进行统一管理和控制,确保设备能够高效、安全地运行。设备管理在OpenHarmony中扮演着重要角色,它不仅涉及到设备的发现、绑定、查询和监听等功能,还涉及到设备的资源管理和安全控制。

功能概述

(发现、绑定、查询、监听)
  • 注册和解除注册设备上下线变化监听
  • 发现周边不可信设备
  • 认证和取消认证设备
  • 查询可信设备列表
  • 查询本地设备信息,包括设备名称,设备类型和设备标识等。
 

导入模块

  • import deviceManager from '@ohos.distributedDeviceManager';
 

架构特点

  • 分布式能力‌:通过分布式软总线等技术,实现多设备间的互联互通和资源共享。
  • 统一管理‌:提供统一的设备管理接口,简化设备管理的复杂度。
  • 安全性‌:通过设备认证和权限管理,确保设备间的安全通信和数据安全。
  • 灵活性‌:支持设备的动态发现和绑定,适应不同的使用场景。
 

USB服务


USB服务是应用访问底层的一种设备抽象概念。开发者根据提供的USB API,可以获取设备列表、控制设备访问权限、以及与连接的设备进行数据传输、控制命令传输等。
USB服务运作机制
notion image
  • USB API:提供USB的基础API,主要包含查询USB设备列表、批量数据传输、控制命令传输、权限控制等。
  • USB Service:主要实现HAL层数据的接收、解析、分发以及对设备的管理等。
  • USB HAL层:提供给用户态可直接调用的驱动能力接口。
 

位置服务


位置子系统使用多种定位技术提供服务,如GNSS定位、基站定位、WLAN/蓝牙定位(基站定位、WLAN/蓝牙定位后续统称“网络定位技术”);通过这些定位技术,无论用户设备在室内或是户外,都可以准确地确定设备位置。
系统提供的定位权限有:
  • import geoLocationManager from '@ohos.geoLocationManager';
  • ohos.permission.LOCATION:用于获取精准位置,精准度在米级别。
  • ohos.permission.APPROXIMATELY_LOCATION:用于获取模糊位置,精确度为5公里。
  • ohos.permission.LOCATION_IN_BACKGROUND:用于应用切换到后台仍然需要获取定位信息的场景。
访问设备的位置信息,必须申请权限,并且获得用户授权。
如果应用在后台运行时也需要访问设备位置,除需要将应用声明为允许后台运行外,还必须申请ohos.permission.LOCATION_IN_BACKGROUND权限,这样应用在切入后台之后,系统可以继续上报位置信息。
  • 坐标
    • 系统以1984年世界大地坐标系统为参考,使用经度、纬度数据描述地球上的一个位置。
  • GNSS定位
    • 基于全球导航卫星系统,包含:GPS、GLONASS、北斗、Galileo等,通过导航卫星、设备芯片提供的定位算法,来确定设备准确位置。定位过程具体使用哪些定位系统,取决于用户设备的硬件能力。
  • 基站定位
    • 根据设备当前驻网基站和相邻基站的位置,估算设备当前位置。此定位方式的定位结果精度相对较低,并且需要设备可以访问蜂窝网络。
  • WLAN、蓝牙定位
    • 根据设备可搜索到的周围WLAN、蓝牙设备位置,估算设备当前位置。此定位方式的定位结果精度依赖设备周围可见的固定WLAN、蓝牙设备的分布,密度较高时,精度也相较于基站定位方式更高,同时也需要设备可以访问网络。
 

振动


Vibrator属于控制类小器件,主要包含以下四个模块:Vibrator API,Vibrator Framework,Vibrator Service和HDF层。
在使用振动器时,开发者需要配置请求振动器的权限ohos.permission.VIBRATE,才能控制振动器振动。
notion image
  • Vibrator API:提供振动器基础的API,主要包含振动器的列表查询,振动器的振动器效果查询,触发/关闭振动器等接口。
  • Vibrator Framework:实现振动器的框架层管理,实现与控制类小器件Service的通信。
  • Vibrator Service:实现控制器的服务管理。
  • HDF层:适配不同设备。
 

设备状态


当应用需要获取当前设备状态时,可以调用Stationary模块,例如:需要判断当前设备处于绝对静止状态或者相对静止状态。
 
 
 
 
Loading...
Koreyoshi
Koreyoshi
一个无可救药的乐观主义者
Latest posts
软件测试:面向对象的测试
2025-5-28
软件测试:集成测试
2025-5-27
软件测试:基于决策表的测试
2025-5-27
软件测试:测试驱动开发
2025-5-27
论文检索
2025-5-26
Linux:基本指令+镜像
2025-5-26
Announcement
🎉写给自己的2025心愿🎉
保研
国奖
完善博客
学一门乐器
发表一篇论文
拍摄人生照片
去3个城市旅游
专业课知识视频
拍摄毕业季视频
----- 2025 ------
👏希望我们一起变好👏