Я знаю, это поздний ответ, но на всякий случай кто-то сталкивается с этой проблемой. Я испытывал одну и ту же проблему и несколько часов пробовал несколько решений, пока не пришел к выводу, что вы не должны использовать adb shell dumpsys deviceidle force-idle
для входа в режим глубокого холостого хода, чтобы протестировать ваши push-уведомления, потому что они просто не будут получены (ваше устройство принудительно в режим глубокого холостого хода, что бы ни происходило, если вы не выполнили команду unsce).
Если вы хотите протестировать свои высоконадежные push-уведомления в режиме глубокого холостого хода, используйте вместо этого adb shell dumpsys deviceidle step
, чтобы пройти все этапы, пока не достигнете глубокого режима ожидания. Вот пример.
adb shell dumpsys deviceidle get light
ACTIVE
adb shell dumpsys deviceidle step
Stepped to deep: IDLE_PENDING
adb shell dumpsys deviceidle get light
INACTIVE
adb shell dumpsys deviceidle step
Stepped to deep: SENSING
adb shell dumpsys deviceidle step
Stepped to deep: LOCATING
adb shell dumpsys deviceidle step
Stepped to deep: IDLE
adb shell dumpsys deviceidle get light
OVERRIDE
adb shell dumpsys deviceidle get deep
IDLE
Таким образом, вы войдете в режим глубокой доз, как в сценарии реального случая, и ваши нажатия будут получены, как ожидалось. Извещение что перед вызовом команды шага вы должны выполнить adb shell dumpsys battery unplug
и выключить экран устройства.
Мое предположение adb shell dumpsys deviceidle force-idle
сильнее, поскольку оно приводит в действие режим ожидания, даже если экран устройства включен. Это полностью вводит в заблуждение от официального андроида doc, когда они говорят: «Вы можете протестировать режим« Доза », выполнив следующие шаги:« и скажите, что вы используете команду принудительного холостого хода. Потому что эта сила-простоя не работает как настоящая, и в этом нет никаких оговорок.
какое устройство вы используете? есть ли у вас какие-либо диспетчеры задач, которые, вероятно, убивают сервисы Google Play, когда телефон находится в режиме ожидания? –
Проведено несколько тестов на устройстве HTC. В нем нет приложений-менеджеров задач. –