我在
Android中遇到了2个与GCM最新更新的问题.根据GCM,如果有效负载包含“通知”属性,它将自动在托盘中显示通知.但他们没有提到如何处理该通知的点击事件.如果有效负载仅包含数据属性,则调用GCMListenerService的“onMessageReceived”.但是,如果有效内容包含通知和数据属性,则不会调用该方法.知道怎么解决?我还要检查iOS以查看它在那里的表现.
解决方法
您需要在通知有效内容中设置click_action.然后,当用户打开/单击通知时,将启动使用该操作声明的应用中的活动.
例如,设置click_action:OPEN_ACTIVITY_1,并将以下intent过滤器添加到所需的Activity:
<intent-filter> <action android:name="OPEN_ACTIVITY_1" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>
然后,您可以使用getIntent()从Activity中的消息中提取数据,然后查看intent附加内容.
请参阅此处的条目:https://developers.google.com/cloud-messaging/server-ref#notification-payload-support