Расчет продолжительности звонка уже сделан для вас.Используйте поставщика контента CallLog
, пожалуйста.
Даже если по какой-то странной причине использование официального журнала вызовов не является тем, что вам нужно, вам не нужна услуга.Установите зарегистрированный манифест BroadcastReceiver
для ACTION_PHONE_STATE_CHANGED
и сохраните время запуска / остановки в базе данных.Не держите в памяти Service
для единственной цели наблюдения за временем.
Но, пожалуйста, просто используйте CallLog
, так как ОС выполняет эту работу за вас, а выне тратьте батарею пользователя, выполняя дублирующую работу.