Ответ 1
Как только вы принудительно остановите свое приложение из настроек, ваш код не будет работать, пока что-то вручную не запустит один из ваших компонентов (т.е. пользователь вручную запускает действие).
Поэтому после принудительного остановки вашего приложения из настроек вы не будете получать сообщения GCM.
Если вы хотите получать уведомления, вам необходимо вручную перезапустить приложение.
Это по дизайну с Android 3.1.
Приложения, находящиеся в состоянии остановки, не получают трансляции.
Остановленное состояние:
- когда приложение изначально установлено (перед тем как пользователь запустит что-то в приложение) или
- после остановки Force.
Подробнее об этом можно узнать здесь: http://developer.android.com/about/versions/android-3.1.html#launchcontrols