• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Sensor Service Kit开发简介
2<!--Kit: Sensor Service Kit-->
3<!--Subsystem: Sensors-->
4<!--Owner: @dilligencer-->
5<!--Designer: @butterls-->
6<!--Tester: @murphy84-->
7<!--Adviser: @hu-zhiqiong-->
8
9## 使用场景
10
11Sensor Service Kit(传感器服务)使应用程序能够从传感器获取原始数据,并提供振感控制能力。
12
13- Sensor(传感器)模块是应用访问底层硬件传感器的一种设备抽象概念。开发者可根据传感器提供的相关接口订阅传感器数据,并根据传感器数据定制相应的算法开发各类应用,比如指南针、运动健康、游戏等。
14  - 本地传感器: 设备内置的传感器,常用的包括加速度传感器、陀螺仪、温度传感器等。
15  - 动态传感器: 指外置的动态传感器,模块能力可以更细化的控制每个动态传感器。为了管理这些动态接入的设备,应使用 sensor.on('sensorStatusChange', callback) 来监听设备上下线事件。在收到下线通知时,务必调用 sensor.off(...) 来释放之前监听的动态传感器资源,避免内存泄漏或异常调用。
16
17- Vibrator(振动)模块最大化开放马达器件能力,通过拓展马达服务实现振动与交互融合设计,打造细腻精致的一体化振动体验和差异化体验,提升用户交互效率和易用性、提升用户体验、增强品牌竞争力。
18  - 本地马达: 设备内置的马达,常用的包括转子马达、线性马达等。
19  - 动态马达: 设备外置的多个马达支持独立控制,且可以根据设备的连接、马达的状态等信息进行灵活的管理。动态马达广泛应用于外接设备,包括手柄、遥控器、外接振动器等, 为了管理这些动态接入的设备,应使用 vibrator.on('vibratorStateChange', callback) 来监听设备上下线事件。
20
21
22## 约束限制
23
24### Sensor
25
26- 要使用传感器的功能,设备必须具有对应的传感器器件。
27
28- 针对某些传感器,开发者需要请求相应的权限,才能获取到相应传感器的数据。
29
30- 传感器数据订阅和取消订阅接口成对调用,当不再需要订阅传感器数据时,开发者需要调用取消订阅接口停止数据上报。
31
32- 动态传感器断开后应用需要主动解除订阅操作。
33
34### Vibrator
35
36- 要使用振动的功能,设备必须具有对应的器件。
37- 针对马达,开发者需要请求相应的权限才能使用。
38- 多个振动器的控制:当存在多个可控振动设备时,应用需要通过 getVibratorInfoSync() 查询可用的马达列表,并在调用 startVibration 或 stopVibration 时,传入 deviceId 和 vibratorId 等参数来精确控制目标马达。