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