我使用fcm订阅了主题制作了一个Android应用。
这是我在FirebaseMessagingService
中的代码的一部分。
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
mApplication = (ApplicationAVL)getApplication();
Log.d("FCM received === ", "ok");
cancelNotification();
ApplicationAVL mApplication = (ApplicationAVL) getApplication();
checkPollingService = isMyServiceRunning(AVLPollingService.class);
if(!mApplication.isPollingNow() || !checkPollingService){
EventBus.getDefault().post(new FcmToPollingEvent());
}
}
没有通知代码,但在关闭应用后,通知消息也始终显示。
cancelNotification()
是我尝试删除通知的一种方法,但是它不起作用。
public void cancelNotification(){
String ns = NOTIFICATION_SERVICE;
NotificationManager nMgr = (NotificationManager)getSystemService(ns);
nMgr.cancelAll();
}
UnsubscribeToTopic onDestory
,但它也不起作用。
如何禁用fcm
通知?
请帮助我...
答案 0 :(得分:0)
我正试图了解您的问题。根据问题的标题,答案是使用来自服务器或其他来源的消息(有效负载)。如下例所示,在数据消息中添加“ silent”:“ true”:
{ “数据”:{ “ title”:“ afruz”, “ body”:“你好!”, “ silent”:“ true” } “ registration_ids”:[“”] }
推送通知将调用onMessageReceived,而顶部栏中不会显示任何消息。
如果您担心要从fcm取消订阅主题,可以尝试在应用程序onPaused而不是onDestroid上进行。
希望我的回答对您有所帮助。