首页 > 编程语言 >【Java UI】HarmonyOS中心率传感器采样时间间隔设置Interval不生效

【Java UI】HarmonyOS中心率传感器采样时间间隔设置Interval不生效

时间:2023-02-13 10:13:30浏览次数:54  
标签:采样 Java 设置 间隔 Interval HarmonyOS 时间 传感器

【问题描述】

HarmonyOS JavaUI开发中需要定时获取传感器数据,但是传感器的采样时间间隔即采样率并不明确。


【问题分析】

1、JavaUI API文档中有两个API可以获取传感器采样的时间间隔,通过时间间隔可以得到传感器数据的频率。

最小时间间隔:SensorBase.getMinInterval​()

最大时间间隔:SensorBase.getMaxInterval​()

文档地址:https://developer.harmonyos.com/cn/docs/documentation/doc-references/sensorbase-0000001054238981#ZH-CN_TOPIC_0000001054238981__getMinInterval--

2、通过设置回调可以获取传感器返回的数据:

setSensorDataCallback(ICategoryOrientationDataCallback callback, CategoryOrientation orientation, long interval)

其中interval必须再最小时间间隔和最大时间间隔的范围内。如果小于最小时间间隔,接口会按最小时间返回;如果超过最大时间间隔,接口就会按最大时间间隔返回。

 
【衍生问题】

上述问题在订阅心率传感器时,INTERVAL设置并不生效,如:

long HEALTH_INTEVAL = 60 * 1000 * 1000;

categoryBodyAgent.setSensorDataCallback(myHealthCallback, bodySensor, HEALTH_INTEVAL);

public void onSensorDataModified(CategoryBodyData categoryBodyData)

采样频率设置为60秒,但onSensorDataModified 小于2秒内触发一次

 
【问题原因】

心率传感器是onchange类型的,一旦数据有变化就会上报传感器数据,设置interval 是对持续上报的sensor, 像这种更改时就上报的sensor,一般无效

 

欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

标签:采样,Java,设置,间隔,Interval,HarmonyOS,时间,传感器
From: https://www.cnblogs.com/developer-huawei/p/17115429.html

相关文章

  • JAVA - - - String, StringBuffer,StringBuilder的区别
    String,StringBuffer,StringBuilder的区别Java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类。现在总结一下,看看他们的不同与相同。1.可变与不可......
  • 搭个ChatGPT算法模型,离Java程序员有多远?
    作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!最近ChatGPT很火,火到了各行各业。记得去年更多的还是码农最新体验后拿它搜代码,现在各......
  • JAVA - - - HashMap常见问题解答
    HashMap与ConcurrentHashMap的异同都是key-value形式的存储数据;HashMap是线程不安全的,ConcurrentHashMap是JUC下的线程安全的;HashMap底层数据结构是数组+......
  • JSON解析器Jackson_java对象转json_List&Map与Json转java对象
    1.复杂java对象转换1.List:数组2.Map:对象格式一致packageorg.example.text;importcom.fasterxml.jackson.databind.ObjectMapper;importorg.example.dom......
  • Java中object转list
    java/***object转list**@paramobj*@paramclazz*@param<T>*@return*/publicstatic<T>List<T>castList(Objec......
  • javaStack
    Stack基础感觉可以根据ArrayDeque来实现,也可以使用LinkedList来实现。ArrayDeque<Integer>stack=newArrayDeque<>();Java顺序栈(数组实现)栈(Stack)数据结构通常有一......
  • 读Java实战(第二版)笔记08_默认方法
    1. 兼容性1.1. 二进制级的兼容性1.1.1. 只要不重新编译该类,即使不实现新的方法,现有类的实现依旧可以运行1.1.2. 现有的二进制执行文件能无缝持续链接(包括验证、准......
  • java: 小王子单链表 ------ ( LinkedList )
    java.util包中的LinkedList<E>泛型类创建的对象以链表结构存储数据,习惯上称LinkedList类创建的对象为链表对象。LinkedList<String>myList=newLinkedList<String>(......
  • java学习
    Markdown学习一级标题:#+空格+标题名字二级标题:##+空格+加标题名字三级标题:###+空格+加标题名字四级标题####+空格+加标题名字五六级标题以此类推字体Holle,wor......
  • Java面向对象之函数式编程
    1函数式编程在数学中,函数就是有输入量、输出量的一套计算方案,也就是“用什么东西做什么事情”。相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽......