私は、MotionEventの時間順と、UIオブジェクト内で定期的に発生する何かを判断しようとしています。MotionEventのダウンタイムと時計を比較するにはどうすればいいですか?
private var rotateFinishTime: Long = -1
....
fun somethingHappensPeriodically() {
Log.d(tag_, "show new round")
...
this.rotateFinishTime = SystemClock.elapsedRealtime()
}
私はGestureDetector.OnGestureListenerが取り付けられてい:
override fun onSingleTapConfirmed(gd: GestureDetector, e: MotionEvent): Boolean {
// for tap: since it comes delayed, have to check event time
if (e.downTime < this.rotateFinishTime || this.rotating) {
Log.d(tag_, "e.downTime: $e.downTime rotateFinishTime: $rotateFinishTime downTime - rotateFinishTime: ${e.downTime - rotateFinishTime} rotating: $rotating")
return true
}
... do stuff
}
e.downTime:4763800 rotateFinishTime:18832541ダウンタイム - rotateFinishTime: -14068741回転:だから偽
経過時間は時間基準ではないようです。明らかに、UNIXのエポック時間はどちらにも合わない。面白いことに、計算では、qemuエミュレータで「期待される」結果が得られますが、在庫Android 6.0が搭載されたデバイスでは表示されません。