Скайред, я думаю, у меня была точно такая же ситуация.Однако я заметил, что когда телефон спал и на занятие было отправлено новое намерение, оно не запустит занятие, пока не включится экран (для своих целей я хотел, чтобы экран был включен).
Мое решение состояло в том, чтобы приобрести пробуждение в моем приемнике C2DM.
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP, TAG);
mWakeLock.acquire();
Конечно, обязательно снимите блокировку с помощью mWakeLock.release () в своей активности.
Это странное поведение, которое, похоже, не согласуется с другим поведением активности Android,В моем случае я использую однозадачное действие (я не уверен, какой вид деятельности вы используете, вы не указали).Если в верхней части стека нет экземпляра действия, и телефон спит, мое действие запустится, и я могу использовать в onCreate () следующее:
getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
Однако, если действиенаходится на вершине стека, и телефон спит, активность не начинается, пока я не включу экран.Надеюсь, это работает для вас.Если вам не нужен экран, я бы попробовал поиграть с другими флагами для wakelock.