Как я могу предотвратить выход 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
или подобный, и использующий полностью черный фон. - Периодически просыпайте экран, чтобы время ожидания сбрасывалось. Это, вероятно, неоптимально, если оно подразумевается как ночные часы.