我想在我的应用程序中实现pub / sub,对于该服务器在特定事件中发送通知,我将对活动中显示的数据进行一些修改
onMessageReceived()
不需要调用PendingIntent。如果您有正确的设置,它将始终调用。该链接提供您应发送到FCM服务器的数据类型
使用FCM,您可以向客户端发送两种类型的消息:
通知消息,有时被称为“显示消息”。
数据消息,由客户端应用处理。
如果您想始终触发仅使用数据消息,那么它将始终触发onMessageReceived()
。如果您尝试同时使用数据消息和通知消息,onMessageReceived()
则当您的应用程序在后台运行时将不会触发。
只需执行您想做的任何事情,例如保存到数据库,sharedPeference等即可 onMessageReceived()
那么您是如何发送活动的呢?
在这种情况下,请使用“广播接收器”发送广播接收器,您希望将其放置在自己的内部,onMessageReceived()
这样,无论何时收到新通知,此代码都将帮助您将数据发送到特定活动。
Intent intent = new Intent("Use anything you like");
intent.putExtra("data","The data you receive");
sendBroadcast(intent);
在您的活动中将其注册到您的 onStart()
registerReceiver(broadCastReceiver,new IntentFilter("must match the intent filter parameter"));
这是您处理数据的方式
class broadCastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("Your data",intent.getData());
}
}
注意:您的Intent过滤器参数必须与您在onMessageReceived()
如果您的应用程序从未收到过FCM的数据,此答案将无用,因为您的问题仍然不清楚,这是我能为您做的最好的事情。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句