Я борюсь с правильной настройкой тревоги и пониманием механизма отмены и перенастройки аварийных сигналов.
Я обнаружил, что есть команда adb для извлечения всех тревог, запланированных на устройстве, но я не нашел документацию, объясняющую формат вывода.
Я понимаю, что я задаю много объяснений здесь, поэтому, если кто-нибудь бросит ссылку с подробным объяснением "adb shell dumpsys alarm", я буду очень благодарен.
Итак, вот вопросы:
-
Ожидающие пакеты аварий: 23
а. Является ли "23" числом активных, запланированных аварийных сигналов в настоящее время?
-
Пакет {4293d3a8 num = 1 start = 1369361 end = 1407261}:
RTС# 0: Тревога {4293d358 тип 1 com.android.chrome}
type = 1 whenElapsed = 1369361, когда = + 19s304ms window = -1 repeatInterval = 0 count = 0
операция = PendingIntent {429e4500: PendingIntentRecord {429dbbc8 com.android.chrome broadcastIntent}}а. Что такое 'num = 1', 'start = 1369361' и 'end = 1407261'?
б. Я полагаю, что "RTC" означает сигнализацию RTC.
с. Что означает "# 0"?
д. Что означает "тип = 1"?
е. Is 'when = + 19s304ms' означает, что будильник будет срабатывать через 19 секунд?
е. Что означает "окно = -1"?
г. Is 'repeatInterval = 0' означает, что это не повторяющийся сигнал тревоги?
час Is 'count = 0' означает, что этот сигнал не был отложен из-за состояния ожидания телефона?
я. 'operation = PendingIntent {...}' означает ожидающее намерение, которое будет вызвано сигналом тревоги, я полагаю. -
Счетчик трансляции: 0
а. Что это?
-
Верхние аварийные сигналы:
а. Что это?
-
+ 47s271ms работает, 0 пробуждений, 2 аварийных сигнала: com.username.weatherinfo
акт = com.username.receivers.CyclicWeatherUpdater.WEATHER_UPDATE_ACTION
CMP = {com.username.weatherinfo/com.username.receivers.CyclicWeatherUpdater}а. Is '+ 47s271ms' означает, что этот сигнал будет срабатывать через 47 секунд?
б. Что такое "0 пробуждений" - тревога никогда не срабатывала?
с. Что такое "2 сигнала тревоги"?
д. Является ли имя com.username.weatherinfo для имени пакета, которое было присвоено ожидающему намерению в поле контекста?
е. "Действует" означает действие, которое было отправлено для намерения?
е. Что такое "cmp" ? Я вижу, что он состоит из имени пакета и имени класса, но откуда они взяты? От конструктора намерений? г. Почему часть сигналов тревоги только "действует" или только "cmp" ? Я предположил, что тревоги без полей "cmp" предназначены для неявных трансляций. Тем не менее, почему есть тревоги без поля "act"? -
Статистика предупреждений:
а. Что это?