Цель:
Требуется получить статистику использования за сегодня (общее время, в течение которого устройство использовалось сегодня), т.е.12:00 утра по текущему времени.
Проблема:
1.Я получаю сегодняшнее время + некоторые другие не объяснимые времена
2.Не объяснимые метки времени (начало и конец статистики использования, полученнойметоды getTimestamp)
Время не имеет значения.Я указываю время начала как 12:00, а время окончания - как текущее время, но я получаю совершенно неактуальные значения ".firstTimeStamp" и ".lastTimeStamp" (которые предположительно возвращают начало и конец данных статистики использования) для статистики использования.
* уже выполнил часть выдачи разрешений, вот функция, которую я использую для получения общего времени в минутах.
fun showtime(){
val time=Calendar.getInstance()
time.set(Calendar.HOUR_OF_DAY,0)
time.set(Calendar.MINUTE,0)
val start=time.timeInMillis
val end= System.currentTimeMillis()
val usageStatsManager = getSystemService(Context.USAGE_STATS_SERVICE) as UsageStatsManager
var stats = usageStatsManager.queryAndAggregateUsageStats(start,end)
var x:Long=0
var ft:Long=0
var v:Long=0
var l:Long=0
for ((key,value) in stats) {
ft=value.totalTimeInForeground/60000
textField1.append("$key = $ft mins")
textField1.append("\n")
x=x+ft
v=value.firstTimeStamp
l=value.lastTimeStamp
}
textView.setText("YOU SPENT $x mins.")
textView2.setText("${Date(v)} to \n${Date(l)}")
}
Например, когда приведенный выше код выполняется в среду, 12 декабря12.40, результат:
(в textView):
ВЫ потратили 90 минут
(в textView2):
Вт 11 дек 16:23:19 GMT +05: 30 с 2018 по
Вт 11 дек. 19:38:45 GMT +05: 30 2018
Как я могу использовать свой телефон в течение 90 минут всего за 40 минут?
И что означают эти, по-видимому, нерелевантные временные метки?
Я делаю что-то не так, чтобы достичь своей цели?