3

Я хочу использовать пакетный пакет Androids, введенный в Android 4.4, чтобы сэкономить заряд батареи. Мое тестовое устройство может хранить 184 сенсорных события в своей fifo-очереди. Используя частоту дискретизации 18 событий/секунд, я должен промывать датчик примерно каждые 10 секунд. В разделе Датчик дозирования в 4.4 Documentation предлагает:Как использовать пакетное управление Android без AlarmManager

Используйте что вычисления для установки пробуждения тревоги с AlarmManager, которые вызывают вашу службу (который реализует SensorEventListener), чтобы очистить датчик.

С Android 5.1 минимальный интервал ожидания для AlarmManager составляет 60 секунд (see here), так что это не сработает? Есть ли альтернатива для пробуждения устройства в более короткие периоды времени или даже лучше (с точки зрения эффективности батареи) постоянно держать вакелок? Я думаю, что у 60-секундного ограничения будут свои причины.

ответ

1

60-секундный минимум применяется только к , повторяющему сигнализация. Для одноразовых точных сигналов тревоги вы можете иметь гораздо меньшие задержки. documentation также упоминает об этом:

Примечание: с API 19 все повторяющиеся аварийные сигналы являются неточными. Если вашему приложению нужны точные сроки доставки, он должен использовать одноразовые точные аварийные сигналы, каждый раз пересматривая сроки, как описано выше.

На практике это означает, что вам нужно запланировать точные тревоги (с использованием setExact), и когда эта тревогу сработала, вам необходимо позаботиться о реструктуризации его самостоятельно.

+0

Спасибо, это также, как я, наконец, закончил. – hendra