2016-11-29 4 views
4

を働いていない:TimeFence.inIntervalは、私はタイムフェンスを設定するためにこれを使用しています

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

時間がtimeMillisとtimeMillis + 5Lの間にあるときしかし、フェンスがトリガされていません。 他のすべてのフェンスが期待通りに機能しているため、受信者が正常に動作しています。 TimeFenceの背後にある問題は何かできないのですか?

答えて

1

質問には潜在的な問題を突き止めるのに十分な情報がありません。テストから、上記の特定の時間フェンスは期待どおりに動作します。いくつかのよくある問題を指摘するのに最善を尽くすことができます。

  • TimeFence.inIntervalのドキュメントを見てみると、開始および停止時間のミリ秒はエポックからのミリ秒数です。渡されたパラメータが、実際にエポックからミリ秒であることを確認してください(特定のタイムゾーンではなく、または開始日から)

  • timeFenceの間隔は非常に短い5ミリ秒です。実際の問題として、私は間隔を知覚可能な何か、おそらく数秒またはそれよりも良い、1分に設定します。

  • 以前の時点で、timeMillisがSystem.currentTimeMillis()から取得された場合、フェンスがAPIに登録されるまでに現在の時刻+ 5msが既に経過している可能性があります。ここでも、実際にはより長い間隔を使用することを指摘しています。

関連する問題