Выход из режима сна Android - PullRequest
0 голосов
/ 27 сентября 2018

Я играю с режимом ожидания Android в моем приложении и просто хочу проверить поведение моих приложений в режиме ожидания.

Мое приложение ставит некоторые задачи в планировщик заданий в режиме ожидания.Я хочу проверить, запускает ли какое-либо событие, которое пробуждает устройство, задания, которые мое приложение поместило в планировщик заданий в режиме ожидания.

Я программно перевел устройство в режим ожидания, запустив следующие команды:

adb shell dumpsys battery unplug 
adb shell dumpsys deviceidle enable 
adb shell dumpsys deviceidle force-idle

Я также попробовал другой набор команд, чтобы перевести его в режим ожидания

adb shell dumpsys deviceidle step deep

Приведенные выше команды переводят устройство в режим глубокого простоя, и я проверяю его с помощьюкоманда-

adb shell dumpsys deviceidle get deep

вывод: IDLE

Но даже если я позвоню по телефону, который включает экран устройства и вибрирует устройство, состояние устройства не меняется.Вышеприведенная команда продолжает работать, чтобы дать мне статус IDLE.

Вопрос:

Могу ли я эмулировать сценарий, в котором я помещаю устройство в дремоту (с помощью некоторых команд), и затем устройство выходит издремать от некоторых событий, заявленных Android-документом (перемещение, включение экрана или подключение зарядного устройства).

РЕДАКТИРОВАТЬ

Мои наблюдения после выполнениямного исследований -

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

adb shell dumpsys deviceidle disable

Так, даже если вы отправляете текстовое сообщение или вызываете устройство, из-за которого
- экран устройства включается
- устройство вибрирует

, но если программно установлен режим ожидания,он непрерывно остается в том же состоянии.

1 Ответ

0 голосов
/ 27 сентября 2018

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

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

adb shell dumpsys deviceidle unforce

Вы можетепроверить альтернативные способы входа в режим IDLE из adb в документах или в другом вопросе, например, здесь:

Как переключить устройство в режиме ожидания (Android Preview M / Marshmallow)?

...