android – Awareness API中的TimeFence.inInterval无效

我用它来设置时间范围:

ArrayList<AwarenessFence> awarenessFences = new ArrayList<AwarenessFence();
awarenessFences.add(TimeFence.inInterval(timeInMillis, timeInMillis+5L));
AwarenessFence customFence = AwarenessFence.and(awarenessFences);

但是,当时间落在timeMillis和timeMillis 5L之间时,不会触发围栏.
我的接收器工作正常,因为所有其他围栏都按预期工作.
TimeFence背后的问题可能不起作用?

最佳答案 该问题没有足够的信息来查明潜在的问题.从测试开始,提到的具体时间栅栏按预期工作.我可以尽最大努力指出一些常见问题.

>查看TimeFence.inInterval的文档,开始和停止时间millis是自纪元以来的毫秒数.请检查传递的参数实际上是自纪元以来的毫秒数(而不是在特定时区或从一天开始)
> timeFence的间隔是5毫秒,非常短.实际上,我会将间隔设置为可感知的东西,可能是几秒或更好,一分钟.
>在前一点,如果从System.currentTimeMillis()获取timeMillis,那么当篱笆向API注册时,当前时间加上5毫秒可能已经过了.同样,这指出在实践中使用更长的间隔.

点赞