Получите время начала с помощью System.currentTimeMillis()
, рассчитайте время, когда нужно остановиться, и время от времени проверяйте текущее время, пока вы собираете данные, которые хотите собрать.Другим способом было бы разделить таймер и сбор данных, чтобы каждый из них мог работать в своих собственных потоках.
Для более конкретного ответа было бы полезно, если бы вы сказали что данных, которые вы собираете, и как вы их собираете.