【发布时间】:2019-02-02 23:30:02
【问题描述】:
在我的应用程序中,我提供用户之间的视频和语音通话。我也在使用 Firebase 实时数据库和 FCM。
这是我的通知传递的数据:
data: {
channel_id: channel_id,
user_id: user_id
}
在我的 FirebaseMessagingService 类中,我检索数据并打开视频/通话活动,如下所示:
if(remoteMessage.getData().size > 0) {
Intent intent = new Intent(this, VideoCallActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("channel_id", remoteMessage.getData().get("channel_id"));
intent.putExtra("user_id", remoteMessage.getData().get("user_id"));
getApplicationContext().startActivity(intent);
}
即使应用程序在后台,一切都运行良好。但是,我正面临这个问题:
如果用户在被呼叫时没有互联网连接,当他连接到互联网时,即使呼叫已(被呼叫者)中止并且通知已从 Firebase 实时数据库中删除,他的手机也会自动启动 VideoCallActivity .
那么,请问有没有办法取消已发送的通知,或者知道这些通知的发送状态,或者其他方法?这将允许我为用户添加未接来电列表。
谢谢!
【问题讨论】:
标签: java firebase firebase-cloud-messaging