Как обрабатывать push-сообщение GCM в Android?

Я работаю над реализацией GCM.

У меня есть класс GCMIntentService. Всякий раз, когда есть push-сообщение, этот класс получит обратный вызов метода onHandleIntent(). Как я могу получить доступ к пользовательскому интерфейсу из этого класса. Или же я должен опубликовать уведомление, и я должен написать свою логику, когда уведомление щелкнуло.

Как обрабатывать push-сообщения. Мое требование похоже на то, что я должен начать отслеживать всякий раз, когда получена команда «Пуск». Я получил команду от GCM. Но я не знаю, как правильно с этим справиться.

Как обработать полученную команду, когда приложение не открыто. И как узнать, что приложение открыто или выйти?

Пожалуйста помоги мне с этим.


person M Vignesh    schedule 13.01.2015    source источник
comment
где находится ваш класс GCMIntentService. ?   -  person Dhwanik Gandhi    schedule 13.01.2015
comment
Вам нужен код вместе с моим вопросом?   -  person M Vignesh    schedule 13.01.2015


Ответы (1)


Вам нужно использовать обработчик в GCMIntentService для отправки обратного вызова в пользовательский интерфейс и отправки данных, как показано ниже.

Message _broadCastReply = new Message();
            Bundle _receiverData = new Bundle();
            _receiverData.putString("Receiver", "xyz");
            _receiverData.putString("Status", "abc");
            _receiverData.putBoolean("isError", false);
            _broadCastReply.setData(_receiverData);
            _handler.sendMessage(_broadCastReply);

здесь _handler будет объектом, переданным в конструкторе GCMIntentService.

person Amit Thaper    schedule 13.01.2015
comment
Как мне справиться с тем же, когда приложение не открыто. И как узнать, что приложение открыто или выйти? - person M Vignesh; 13.01.2015
comment
Вам нужно повторно открыть активность onResume для уже открытого приложения. иначе он вызовет onCreate, когда приложение будет закрыто - person Amit Thaper; 15.01.2015