Я думаю, что лучшим вариантом является использование методов обратного вызова на протяжении жизненного цикла вашей деятельности.Время начала - onCreate () первого действия, которое вы показываете своему пользователю.Время окончания может быть немного сложнее.Прежде всего, если у вас есть несколько действий, пользователь может выйти из любого из них, поэтому вам нужно отслеживать текущее открытое действие и отправлять время окончания, только если следующее действие не появляется.Вторая проблема в том, какой метод обратного вызова следует использовать?onPause () не гарантированно вызывается, а onDestroy () не будет вызываться до тех пор, пока приложение не будет очищено от последних.Так что probablt onStop () - правильное место.
Или вы можете использовать обратные вызовы вашего приложения .Просто выведите из класса Application и используйте его обратные вызовы для отслеживания времени.