Рекомендуется использовать службу, которая работает непрерывно в фоновом режиме. here. Следует отметить, что IntentService останавливается, когда заканчивается работа.
Кроме того, в соответствии с этим thread:
Если пользователь принудительно останавливает приложение от настройки, ваш код будет п когда-либо работать снова, пока что-то вручную не работает один из компонентов, как правило, пользователь вручную запускает свою деятельность (начиная с Android 3.1). Следовательно, если пользователь принудительно останавливает ваше приложение из настроек, вы не будете получать сообщения GCM на новых устройствах/эмуляторах.
А поскольку @Bmbariah заявила, что приложение Android на устройстве Android не нужно запускать для приема сообщений. Система пробудит приложение Android через Intent-трансляцию, когда поступит сообщение, если приложение настроено с помощью правильного приемника вещания и разрешений. Вы можете проверить этот сервис WakefulBroadcastReceiver, который позволяет вам управлять жизненным циклом фоновой задачи.
Документы говорят только «Проснись», что для меня означает, что приложение «спит» или в фоновом режиме. Но когда вы заставляете закрыть приложение, у него нет запущенного процесса, чтобы «проснуться», его нужно запустить.
Надеюсь, это поможет!
Спасибо за ваш ответ, я протестировал на некоторых телефонах, но ни у кого из них не было батареи. Кроме того, о 4-недельном сроке службы уведомлений, я имею в виду, что эти приложения не получат никаких уведомлений вообще через некоторое время бездействия, например, если я отправлю уведомление об этом прямо сейчас, он не получит его не сейчас, а не в любое время позже в будущее, несмотря на то, что оно подключено к Интернету, а другие приложения не имеют проблем при получении уведомлений. Если я однажды открою это приложение-образец, он будет получать уведомления с этого момента. О «бодрствованиях» вы можете объяснить это каким-то кодом? – Merka