У меня странная проблема с моей версией Android GCM.Каков правильный способ ручного управления каждым нажатием GCM?
Это код, где я обрабатывать уведомления GCM:
public class GCMMessageHandler extends GcmListenerService {
@Override
public void onMessageReceived(String from, Bundle data) {
super.onMessageReceived(from, data);
Log.i(this.getClass().getSimpleName(), "GCM push received!");
ACNotification notification = new ACNotification(getApplicationContext(), data);
notification.handleNotification();
}
}
В принципе, что это делает, он передает данные уведомления в мой класс называется ACNotification
, который затем считывает данные и отображает уведомление с помощью Notification.Builder
.
Это прекрасно работает, когда приложение находится на переднем плане. Но как только пользователь закрывает приложение, кажется, что этот код никогда не выполняется, но приложение каким-то образом обрабатывает уведомление самостоятельно.
Он по-прежнему отображает уведомление, но Android делает это самостоятельно. Он не устанавливает соответствующий значок уведомлений (он просто использует значок ic_launcher для Android Android).
Любая идея, что я делаю неправильно? Как я могу заверить, что смогу обрабатывать каждое уведомление самостоятельно?
немного расплывчатым. Основываясь на вашем поведении, вы используете как «уведомление», так и «данные» в своей полезной нагрузке. Если это так, это намеченное поведение. Вы должны получить данные от намерения, нажав на приложение. –