• Home
Name Date Size #Lines LOC

..--

AppScope/22-Oct-2025-2725

entry/22-Oct-2025-1,1581,075

hvigor/22-Oct-2025-3736

.gitignoreD22-Oct-2025133 1212

README_zh.mdD22-Oct-20254.7 KiB8553

build-profile.json5D22-Oct-20251.3 KiB5757

code-linter.json5D22-Oct-20251.4 KiB4646

hvigorfile.tsD22-Oct-2025842 215

oh-package.json5D22-Oct-2025808 2524

ohosTest.mdD22-Oct-20251.6 KiB1813

sensorSample.pngD22-Oct-2025222 KiB

README_zh.md

1# sensor js接口hap
2
3### 介绍
4
5本样例展示了sensor模块js接口的使用样例,包含订阅和去订阅传感器、订阅和去订阅外设热插拔事件、获取设备及扩展设备的上传感器信息等接口功能
6
7
8
9本示例用到了权限获取相关的的操作[@ohos.abilityAccessCtrl](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-abilityAccessCtrl.md#abilityaccessctrlcreateatmanager)
10错误信息相关[@ohos.base](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-base.md)
11
12传感器相关接口操作[@kit.SensorServiceKit](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-sensor-service-kit/js-apis-sensor.md)
13
14
15### 效果预览
16| 主页                                           |
17|----------------------------------------------|
18| <img src="./sensorSample.png" width="270" /> |
19
20依次介绍sample具有什么功能,怎样使用这些功能,以及使用后会达到什么效果;示例如下:
21
221. 在主界面,可以点击Please select sensor type文本框选择此设备上的传感器;
232. 在主界面,可以点击deviceId选择想要使用的设备,目前手机上暂时不支持设置;
243. 在主界面,点击subscribe按钮可以订阅Please select sensor type文本框中选择的传感器后,界面下方会显示回调数据;
254. 在主界面,点击unsubscribe按钮可以去订阅选中的传感器,去订阅后不会再收到回调数据;
265. 在主界面,点击getSensorListByDeviceSync按钮获取本设备及扩展设备上的传感器列表,并在下方显示(手机上只能获取本机上的传感器信息);
276. 在主界面,点击getSingleSensorByDeviceSync按钮可以获取对应设备上对应的传感器信息,(手机只能获取本机上的传感器信息);
287. 在主界面,点击on SensorStatusChange按钮订阅本设备上扩展设备的热插拔事件,(目前手机上暂时不支持此功能);
298. 在主界面,点击off SensorStatusChange按钮去订阅本设备上扩展设备的热插拔事件,(目前手机上暂时不支持此功能)。
30
31
32
33工程目录
34
35```
36entry
37|   |--- src/main/
38|        |--- module.json5              // sensor模块配置hap类型:"type": "feature"
39|             |---ets/pages
40|                    |---index.ets      // sensor组件接口实现页面
41```
42
43
44
45### 具体实现
46
47本样例展示了sensor模块js接口的使用样例,包含订阅和去订阅传感器、订阅和去订阅外设热插拔事件、获取设备及扩展设备的上传感器信息等接口的功能,该功能全部接口已封装在index,源码参考:[index.ets](./entry/src/main/ets/pages/index.ets)
48
49* Please select sensor type文本框:使用sensor.getSensorList接口获取本设备上的所有传感器信息列表;
50* subscribe订阅传感器:先使用窗口框选择想要订阅的传感器,接着使用sensor.on接口对已经选择的传感器进行订阅;
51* unsubscribe去订阅传感器:先使用窗口框选择想要去订阅的传感器,接着使用sensor.off接口对已经选择的传感器进行去订阅,未订阅的传感器会去订阅失败;
52* getSensorListByDeviceSync获取本设备及扩展设备上传感器列表,使用sensor.getSensorListByDeviceSync接口即可获取本设备及扩展设备上传感器列表。手机暂时只能获取本机传感器信息列表;
53* getSingleSensorByDeviceSync获取指定设备上传感器信息,使用sensor.getSingleSensorByDeviceSync接口获取指定设备上指定传感器信息,目前手机上只能获取本机上传感器信息;
54* 订阅去订阅外设热插拔事件,通过sensor.onsensor.off来实现对扩设备热插拔事件订阅,目前手机不支持此功能。
55
56### 相关权限
57
58附上使用到的权限和链接,示例如下:
59
60[ohos.permission.ACCELEROMETER](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionaccelerometer)
61
62### 依赖
63
64不涉及。
65
66### 约束与限制
67
681.本示例仅支持标准系统上运行,支持设备:RK3568;
69
702.本示例为Stage模型,仅支持API20版本SDK,SDK版本号(API Version 20 Beta),镜像版本号(6.0Beta);
71
723.本示例需要使用DevEco Studio 5.0.4 Release (Build Version: 5.0.11.100, built on March 28, 2025)及以上版本才可编译运行。
73
74### 下载
75
76如需单独下载本工程,执行如下命令:
77```
78
79git init
80git config core.sparsecheckout true
81echo code/BasicFeature/DeviceManagement/Sensor/SensorJsSamples/ > .git/info/sparse-checkout
82git remote add origin https://gitee.com/openharmony/applications_app_samples.git
83git pull origin master
84
85```