Я хотел узнать больше о службах/трансляциях Android, поэтому я начал простой проект по созданию приложения для мониторинга батареи. Получилось неплохо, пользуюсь уже несколько дней, но хочу добавить новую функцию: показывать с какого момента телефон заряжается/разряжается.
Сначала я подумал, что я создам два статических поля в своем классе расширения BoradcastReciever, где я буду получать и публиковать данные о батарее, одно для фактического состояния (зарядка/разрядка) и одно для времени, когда произошло изменение состояния . Таким образом, я мог просто вычесть из текущего времени последнее изменение и точно знать, с какого момента телефон заряжается/разряжается.
Но есть проблема с этим решением: оно не будет показывать правильные данные сначала, когда пользователь запускает приложение. Я бы не стал придавать этому большого значения, но я видел, что Android где-то отслеживает эти данные, потому что в настройках своего телефона я нашел эту информацию, так зачем идти сложным путем.
Итак, мой вопрос: есть ли простой способ получить из системы Android дату/время (независимо от формата) последнего изменения состояния зарядки?
Я просмотрел справочник по BatteryManager, но там нет констант, названных в честь того, что я seek, и который я мог бы использовать, чтобы получить информацию от Intent моего получателя.