我正在尝试构建一个聊天应用程序,并且每当有新消息进入时我都成功实现了fcm通知。但我的问题是当我在聊天时我不想接收fcm通知,因为我在聊天窗口(无论如何,我的聊天片段。如何实现?
答案 0 :(得分:0)
以下是Commonsware订购有序广播的有趣方法。
定义您在事件发生时将使用的操作字符串
想要参加活动或通知(例如,
com.commonsware.java.packages.are.fun.EVENT
)。
使用动态注册活动中的BroadcastReceiever
IntentFilter
为上述操作字符串设置并使用
正优先级(过滤器的默认优先级为0)。这个
接收者应该让活动做他们需要做的事情
根据此事件更新UI。接收器也应该打电话
abortBroadcast()
以防止其他人获取它。务必
在onStart()
或onResume()
注册接收者并取消注册
接收者使用相应的onStop
或onPause()
方法。
在您的清单中注册BroadcastReceiver
,并注明
<intent-filter>
设置上述操作字符串。这个
接收方应该提出通知。
在您的服务中(例如,IntentService
),当事件发生时,
致电sendOrderedBroadcast()
。
完整说明here.