Позволяет телефону спать во время использования будильника RTC на Android - PullRequest
6 голосов
/ 24 мая 2011

Я видел некоторые странные проблемы с использованием диспетчера тревог в Android, несмотря на то, что я использую RTC (не Wakeup), телефон надежно отправляет PendingIntents с правильными повторяющимися интервалами.

Детали моего теста

  • Устройство не заряжается, просто сижу на тумбочке, пока я сплю
  • Мой сервис проснулся с интервалом повторения (30 минут, экстремальный уровень, который я знаю) КАЖДЫЙ РАЗ
  • Служба записала свою активность в файл, чтобы я мог прочитать его утром

Теперь, насколько я понимаю, телефон должен спать, если я не проснусь, и мои тревоги не должны отправляться, пока телефон не проснется.

  • Почему выполнялся мой сервис?
  • Если другой сервис работает неправильно и использует варианты будильника _WAKEUP, мой сервис тоже проснется?
  • Можно ли избежать пробуждения другим сервисом и просто проснуться от пользователя, включающего экран?

Ответы [ 2 ]

4 голосов
/ 24 мая 2011

Почему выполнялся мой сервис?

Предположительно, что-то еще вызывало пробуждение устройства в эти моменты.

Если другой сервис работает неправильно и использует_WAKEUP варианты будильника также может разбудить мою службу?

Да, хотя "плохое поведение" находится в глазах смотрящего.

Можно ли избежать пробуждениядругой сервис, и только что проснулся от пользователя, включающего экран?

Не напрямую через AlarmManager.Вы можете смотреть трансляции ACTION_SCREEN_OFF и ACTION_USER_PRESENT и, возможно, отключить ваши тревоги между ними.

0 голосов
/ 03 января 2013

Я только что провел час, пытаясь выяснить, почему мой RTC-сигнал отправляет PendingIntents, даже когда мой телефон спит.И ответы очень просты, потому что он был подключен к USB, так что телефон имел статус «зарядка».

Предположительно, что-то еще в то время вызывало пробуждение устройства.1006 * Множество приложений с рекламой уведомлений (таких как AirPush, Leadbolt и т. Д.) Пробуждают устройство.

...