2016-08-17 4 views
1

У меня есть приложение, которое может получать сообщения через Google Cloud Messaging. Мне нужно автоматически запускать действие, когда получено сообщение облака, при необходимости пробуждая устройство.Начать работу, когда получено сообщение GCM

Хотя это может показаться плохим дизайном пользовательского интерфейса, где что-то убедительно показано пользователю, это приложение имеет решающее значение для работы пользователя, поэтому пользователю намного удобнее просматривать это, когда появляется сообщение облака.

Я попытался позвонить startActivity(), когда получено сообщение облако, и оно работает, когда приложение находится в фоновом режиме. Но, как только приложение будет удалено из списка последних приложений, новое действие не запустится.

Есть ли способ достичь того, что я пытаюсь сделать?

+0

Вы можете просто показать сообщение тост, который четко отображаться пользователю. –

+0

Нет способа для тоста работать, когда приложение находится в фоновом режиме, я считаю, что вы можете сделать это с помощью crouton. –

+0

Обычно вы показываете уведомление о начале, которое запускает действие. Таким образом, это также отображается на экране блокировки ... –

ответ

0

Я предполагаю, что вы получаете сообщения с помощью IntentService.

Если это так, то вы можете запустить активность, используя флаг:

Intent intent = new Intent (this, MyActivity.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 
+0

Это именно то, что я сейчас делаю. Если приложение закрыто и удалено из списка последних приложений, активность не будет запущена. –

+0

@LahiruChandima Вы уверены, что само приложение не убито, когда вы закрываете его и удаляете из последнего списка приложений? Ссылка [здесь] (http://stackoverflow.com/a/37429495/4625829). –

Смежные вопросы