# 订阅/取消订阅传感器 ### 介绍 本示例主要展示了传感器的基础功能,包括传感器订阅和取消传感器订阅。 ### 效果预览 | 首页 | 选择传感器类型 | 数据上报 | 输入数据采样频率 | | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | | home | play1 | play1 | play1 | 使用说明: 1.点击“input data sampleRate”按钮,输入100000000;该属性有最小值和最大值的限制,由硬件支持的上报频率决定,当设置频率大于最大值时以最大值上报数据,小于最小值时以最小值上报数据,置空则以默认频率上报; 2.在主界面点击”Please select sensor type“按钮,进入选择传感器类型页面; 3.在选择传感器页面选择需要订阅的传感器类型后,点击“订阅”按钮,持续订阅传感器数据会出现在下方; 4.如果需要取消订阅,点击“取消订阅”按钮,即可取消订阅传感器数据; 5.点击“订阅一次”按钮,将会上报订阅传感器一次的数据; 6.需要订阅其他传感器之前,需要先取消订阅本次传感器数据。 ### 工程目录 ``` entry/src/main/ |---ets |---|---common |---|---|---contants |---|---|---|---CommonConstants.ets // 用于存放应用程序共享的库文件和资源 |---|---|---utils |---|---|---|---CommonUtils.ets // 共享资源库 |---|---|---|---Logger.ets // 日志打印工具 |---|---|---|---Utils.ets // 日志工具 |---|---entryability |---|---|---EntryAbility.ets // 应用入口 |---|---EntryBackupAbility |---|---|---EntryBackupAbility.ets // 备份恢复能力 |---|---pages |---|---|---Index.ets // 订阅传感器,取消订阅传感器 |---resources // 静态资源文件(图形、多媒体等) ``` ### 具体实现 - 图片功能在Index中实现,具体参考[Index.ets](entry/src/main/ets/pages/Index.ets): - 点击“Please select sensor type”按钮,通过[sensor.getSensorListSync()](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-sensor-service-kit/js-apis-sensor.md#sensorgetsensorlistsync12)获取设备支持的传感器类型; - 点击“订阅”按钮,通过[sensor.on()](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-sensor-service-kit/js-apis-sensor.md#sensoron)订阅传感器,获取传感器数据; - 点击"取消订阅"按钮,通过[sensor.off()](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-sensor-service-kit/js-apis-sensor.md#sensoroff),取消订阅传感器。 - 点击"订阅一次"按钮,通过[sensor.once()](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-sensor-service-kit/js-apis-sensor.md#sensoronce),取消订阅传感器。 ### 相关权限 [ohos.permission.ACCELEROMETER](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-sensor-service-kit/js-apis-sensor.md#accelerometer9) [ohos.permission.GYROSCOPE](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-sensor-service-kit/js-apis-sensor.md#gyroscope9) [ohos.permission.ACTIVITY_MOTION](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-sensor-service-kit/js-apis-sensor.md#pedometer9) [ohos.permission.READ_HEALTH_DATA](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-sensor-service-kit/js-apis-sensor.md#heart_rate9) ### 依赖 不涉及。 ### 约束与限制 1. 本示例仅支持标准系统上运行,支持设备:RK3568、Phone、Tablet; 2. 本示例为Stage模型,支持API14版本SDK,版本号:5.0.2.43; 3. 本示例需要使用DevEco Studio Release(5.0.3.900)及以上版本才可编译运行; 4. 传感器数据订阅和取消订阅接口成对调用,当不再需要订阅传感器数据时,开发者需要调用取消订阅接口停止数据上报; 5. 本示例涉及系统接口,需要配置系统应用签名,可以参考[特殊权限配置方法](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/hapsigntool-overview.md),把配置文件中的“app-feature”字段信息改为“hos_system_app”。 ### 下载 如需单独下载本工程,执行如下命令: ``` git init git config core.sparsecheckout true echo code/DocsSample/Sensor > .git/info/sparse-checkout git remote add origin https://gitee.com/openharmony/applications_app_samples.git git pull origin master ```