Похоже, что nVidia Shield Android TV поставляется с Android 5.1.1, а обновление Marshmallow доступно только с декабря. Я предполагаю, что Android 5.1.1 - это версия, установленная на вашем устройстве.
Запрос системных служб
Включить ADB в беспроводном режиме на устройстве. При необходимости следуйте официальному руководству или этому ответу Иззи для получения инструкций.
Вы можете узнать состояние Android - спящий или бодрствующий - из свалки различных системных сервисов.
Сервис: мощность
adb shell dumpsys power
Поиск строк mWakefulness
и / или Display Power: state
. Они оба дадут вам статус, который вам нужен.
Пример:
adb shell 'dumpsys power | grep -e "mWakefulness=" -e "Display Power"'
дает мне
mWakefulness=Asleep
Display Power: state=OFF
Сервис: Окно
adb shell dumpsys window
Поиск строк mAwake=true
и / или mScreenOnEarly=true
и / илиmScreenOnFully=true
Пример:
adb shell 'dumpsys window | grep -e "mAwake=" -e "mScreenOnEarly" -e "mScreenOnFully"'
дает мне
mAwake=true
mScreenOnEarly=true mScreenOnFully=true
Сервис: Дисплей
adb shell dumpsys display
Поиск строк mState=OFF
и / или mScreenState=OFF
.
Пример:
adb shell 'dumpsys display | grep -e "mState=" -e "mScreenState"'
дает мне
mState=OFF
mScreenState=OFF
Использовать автоматизацию
Если ни одна из системных служб, упомянутых в предыдущем методе, не работает для вас, настройте приложение для автоматизации , такое как Tasker, MacroDroid или Automate.
Теперь мы будем использовать автоматизацию для записи состояния Android в файл, например, «Спящий режим» и «Пробуждение», когда он активен.
- Профиль: Событие → Дисплей → Дисплей выключен
- Задача: (Действия): Файл → Запись файла → выберите текстовый файл для записи, введите Sleeping и снимите флажок Добавить новую строку
- Профиль: Событие → Дисплей → Дисплей вкл
- Задача: (Действия): Файл → Запись файла → выберите текстовый файл для записи, введите Awake и снимите флажок Добавить новую строку
Android , к сожалению , не входит echo
или printf
утилита, если устройство укоренено , то вы можете установить BusyBox и быть в мире. Если нет, загрузите двоичный файл busybox , установите права доступа к исполняемому файлу и вставьте его в /data/local/tmp
использование adb push
. Другой способ для нерутированного устройства - сохранить три файла, один для состояния, один с текстом Sleeping и последний с текстом Awake. Всякий раз, когда экран выключается / включается, скопируйте второй / третий файл в первый.
MacriDroid также требует плагин, такой как Secure Settings для выполнения команд.
Для нерутированного Android echo
следует заменить на ./data/local/tmp/busybox echo
. В противном случае выполните операцию копирования с помощью команды cp SOURCE DESTINATION
.
Ваш поток должен более или менее выглядеть как это изображение
(Нажмите на изображение, чтобы увеличить)
Вам нужно создать два потока, один для сна и другой для бодрствования. Второй блок в потоке называется Broadcast receive и находится в разделе Apps. Третий блок называется File write text и находится в разделе «Файл и хранилище».
Теперь вы можете проверить содержимое этого файла, используя adb в беспроводном режиме или используя SSH (требуется сервер SSH на Android; запустите сервер на всех интерфейсах и не привязывайте его к одному интерфейсу.)
Существует еще одна возможность, например, заставить ваше приложение автоматизации загружать файл на локальный или удаленный сервер, чтобы вы могли запросить этот сервер вместо Android, чтобы узнать состояние.