Awareness API中的TimeFence.inInterval不起作用

时间:2016-11-29 20:37:19

标签: android google-awareness

我用它来设置时间范围:

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

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

1 个答案:

答案 0 :(得分:1)

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

  • 查看TimeFence.inInterval的文档,开始和停止时间millis是自纪元以来的millis数。请检查传递的参数实际上是自纪元以来的毫秒数(与特定时区或自一天开始时相反)

  • timeFence的间隔是5毫秒,非常短。作为一个实际问题,我会将间隔设置为可感知的东西,可能是几秒或更好,一分钟。

  • 在前一点,如果从System.currentTimeMillis()获取timeMillis,那么当注册API时,当前时间加上5 ms可能已经过了。同样,这指出在实践中使用更长的间隔。