我是 xamarin 表单的新手,并尝试在显示通知内容之前修改。我仅使用 数据负载。
问题:我可以看到修改后的内容消息,也可以看到正常消息(修改内容之前)。 这个问题是当应用程序处于background时,前台我只能看到修改后的消息。如何取消之前的消息,我只想显示修改后的消息。
我使用这个 tutorial 使用包 Plugin.FirebasePushNotification 来显示 firebase 消息
CrossFirebasePushNotification.Current.OnNotificationReceived += (s, p) =>
{
ModifyMsgAsync(this, p).Wait();
}
ModifyMsgAsync(Context context, FirebasePushNotificationDataEventArgs message)
{
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, "123");
builder.SetContentTitle("Changed the title");
builder.SetContentText("Message body is changed");
builder.SetPriority(NotificationCompat.PriorityHigh);
builder.SetAutoCancel(true); //disappear after sometime
NotificationManagerCompat managerCompat = NotificationManagerCompat.From(context);
managerCompat.Notify(notification_id, builder.Build());
}
听起来您正在使用
notification
键发送消息。当用户没有主动使用该应用程序时,此类消息将由系统处理 - 这意味着您的代码无法控制消息的显示方式。
如果您始终希望代码处理消息的显示,请使用 only 中的
data
键发送消息。
另请参阅有关 消息类型的 Firebase Cloud Messaging 文档。