手动处理每个GCM推送的正确方法是什么?

时间:2016-10-29 12:21:49

标签: android notifications google-cloud-messaging

我的Android 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读取数据并显示通知。

当app在前台时,这非常有效。但是一旦用户关闭应用程序,似乎这个代码永远不会执行,但应用程序会以某种方式单独处理通知。

它仍会显示通知,但Android会自行执行此操作。它没有设置正确的通知图标(它只使用Android股票ic_launcher图标)。

知道我做错了什么吗?我怎样才能保证我能够自己处理每个通知?

1 个答案:

答案 0 :(得分:0)

从邮件中删除通知有效内容。

看看它: Firebase onMessageReceived not called when app is in the background