Как я могу предотвратить выход Android Wear из окружающего режима и стать черным через несколько минут?

Я пытаюсь запрограммировать прикроватные часы, такие как Moto 360, которые показывают время ночью во время зарядки. Поэтому я настроил "Всегда на приложении" с диспетчером тревог в соответствии с https://developer.android.com/training/wearables/apps/always-on.html, который работает в основном так, как задумано (Android 7.1.1 Носимое занятие на "Дизеле на полной гвардии").
Однако после нескольких минут, лежащих на столе, часы выходят из окружающего режима (мой любимый режим в ночное время) и выключают экран.

Я уже пробовал использовать функцию пробуждения в соответствии с Android Wear: измерение датчиков и предотвращение внешнего режима / сна, но безуспешно. Возможно, процессор все еще работает, но экран через некоторое время становится черным (очень утомительно отлаживать, так как вам всегда приходится ждать и не удается воспроизвести на эмуляторе, который никогда не выключается).

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

1 ответ

Ваши часы, вероятно, имеют ro.ambient.plugged_timeout_min установите некоторое положительное значение (см. сообщение Reddit здесь). Он предназначен для защиты экрана OLED от прожига. Если вы запустите adb shell dumpsys alarm вы можете увидеть будильник для com.google.android.wearable.ambient с действием com.google.android.wearable.action.STOP_AMBIENT_DREAM это выключит экран устройства / выключит его по истечении времени ожидания, указанного выше.

Мое лучшее предположение состоит в том, что для предотвращения его попадания в окружающую среду вам нужно либо

  • Остановите его полностью в окружении, т.е. SCREEN_DIM_WAKELOCK или подобный, и использующий полностью черный фон.
  • Периодически просыпайте экран, чтобы время ожидания сбрасывалось. Это, вероятно, неоптимально, если оно подразумевается как ночные часы.
Другие вопросы по тегам