Однако активность не создается до тех пор, пока телефон не проснется, когда он находится на вершине стека.
Насколько я знаю, это по замыслу.Единственный способ разбудить телефон и держать его в бодрствующем состоянии - это захватить пробуждение от блокировки.
http://developer.android.com/reference/android/os/PowerManager.WakeLock.html
Типичным примером является то, что вы получаете какое-то намерение разбудить свое приложение, например:состояние сети изменилось или что-то еще.В вашем приемнике, в onHandleIntent(),
вы захватываете замок.Вы запускаете службу, чтобы выполнить какую-то работу, и служба снимает блокировку после ее завершения.
В вашем случае получатель, отправляющий намерение вашей активности, может захватить частичную блокировку пробуждения, а затем вашу активность.может захватить блокировку экрана.Имейте в виду, что, пока вы удерживаете блокировку от будильника, телефон не может спать, что приводит к значительному увеличению заряда аккумулятора.По этой причине пробужденные замки очень опасны.
Обратите внимание, что вы должны снять блокировку вручную.Если при возврате onHandleIntent()
не удерживать блокировку от пробуждения, устройство может снова вернуться в режим сна.Таким образом, это будет что-то вроде
receiver: acquire partial lock
activity: acquire screen lock
activity: release partial lock
Вы также можете, вероятно, просто временно заблокировать блокировку экрана, затем отпустить ее ... экран включится, а затем выключится нормально в соответствии с настройкой тайм-аута дисплея.