Movesense rescheduleTimer函数调用失败求助:始终返回false
Movesense rescheduleTimer() 调用失败排查建议
我之前在项目里成功用过rescheduleTimer(),给你几个额外的排查方向:
- 确认传入的新周期参数是否符合Movesense定时器的范围要求:Movesense的定时器周期有最小和最大限制,比如部分平台最小周期是1ms,最大可能到几秒,超出范围会直接返回false
- 检查调用
rescheduleTimer()的时机:必须确保定时器处于运行状态(你已经确认过,但可以再用isTimerActive()二次验证),且不能在定时器的回调函数内部调用该方法——回调里操作定时器可能触发内部锁冲突 - 确认定时器的创建类型:如果是用
startTimer()创建的一次性定时器(而非周期性),rescheduleTimer()是不支持的,只有周期性定时器才能被重新调度 - 检查资源客户端/提供者的状态:如果是在ResourceProvider中调用,要确保当前Provider的资源处于激活状态,没有被销毁或暂停
另外,你可以尝试在调用前后打印定时器ID和当前状态,或者查看Movesense的调试日志输出,里面可能会有失败原因的详细提示。
内容的提问来源于stack exchange,提问作者Péter Tarjányi
相关产品推荐
相关产品推荐

