Режим Android Doze для датчиков движения

У меня есть вопросы, связанные с Android Doze Mode (Android N [deep doze] и M). Согласно официальной документации Android, когда устройство переходит в спящий режим, оно перестает получать обновления местоположения либо через GPS, либо через сеть.

А чтобы выйти из спящего режима, либо включается экран, либо подключается питание. Но как насчет

1) В спящем режиме, если устройство перемещается, но экран остается выключенным. Будет ли устройство выходить из спящего режима для движения?

2) В режиме Doze датчики типа гироскопа или акселерометра работают или тоже останавливаются?


person kaibuki    schedule 07.11.2016    source источник


Ответы (2)


  1. Конечно, устройство выйдет из режима Doze. Поскольку, как написано в документации Android Doze, устройство находиться в режиме ожидания, только если он неподвижен.
  2. Есть два типа датчиков.

    • Wake-up sensor: ensure that their data is delivered independently of the state of the SoC.
    • Датчик без пробуждения: не препятствуйте переходу SoC в режим ожидания и не активируйте SoC для передачи данных.

    Акселерометр и гироскоп не являются датчиками пробуждения, поэтому они будут остановлены. Со страницы Тип датчика Android.

person mrcrambo    schedule 01.06.2020
comment
Акселерометр и гироскоп не обязательно не будят. Это зависит от устройства. Например, в ископаемом спорте есть пробуждающий акселерометр и гироскоп. Источник: source.android.com/devices/sensors/ - person Scott Driggers; 20.01.2021

Это очень хороший вопрос. Во-первых, имейте в виду, что режим дремоты имеет два состояния: легкое и глубокое.

1) Можно. Сначала входит в режим глубокой дремоты с командой «step», чтобы перейти в состояние idle_maintenance. Затем встряхните телефон сразу после этого. Если вы распечатаете историю (см. команду ниже), вы увидите следующее:

  • глубокий холостой ход: -23с222мс
  • глубокое обслуживание: -16s621ms
  • нормальный: -12с431мс (движение)

2) При принудительном включении режима ожидания с помощью adb датчики все еще выполняют сбор данных. Это уж точно. Но все еще не уверен, что этот принудительный режим точно аналогичен тому, чтобы позволить устройству войти в спящий режим самостоятельно.

Это команда, которую я использую для входа в режим глубокой дремоты.

adb shell dumpsys battery unplug
adb shell dumpsys deviceidle step deep
[... each time you change the state of deep mode - several states]
adb shell dumpsys battery reset

Вы также можете проверить параметры и историю спящего режима, просто введя эту команду:

adb shell dumpsys deviceidle
person Nicolas Julémont    schedule 20.11.2019