3 回答
TA贡献1795条经验 获得超7个赞
也许答案迟了,但它可以帮助其他人。
唯一的错误是您使用Intent代替intent(传递的参数)
if (Intent.Extras != null)
代替
if (intent.Extras != null)
我陷入了同样的分心。
TA贡献1796条经验 获得超7个赞
请通过这个。 实施 FirebaseMessagingService - 前台通知
您必须创建 FirebaseMessagingService,当您的应用程序处于前台时,您可以在其中接收 RemoteMessage。
TA贡献1836条经验 获得超13个赞
实际上,根据文档,处理前台通知的正确方法是实现一个FirebaseMessagingService
这里有更好的解释
您需要创建一个类似这样的服务类:
[Service]
[IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })]
public class MyFirebaseMessagingService : FirebaseMessagingService
{
// private string TAG = "MyFirebaseMsgService";
public override void OnMessageReceived(RemoteMessage message)
{
base.OnMessageReceived(message);
string messageFrom = message.From;
string getMessageBody = message.GetNotification().Body;
SendNotification(message.GetNotification().Body);
}
void SendNotification(string messageBody)
{
try
{
var intent = new Intent(this, typeof(MainActivity));
intent.AddFlags(ActivityFlags.ClearTop);
var pendingIntent = PendingIntent.GetActivity(this, 0, intent, PendingIntentFlags.OneShot);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.SetSmallIcon(Resource.Drawable.ic_stat_ic_notification)
.SetContentTitle("Title")
.SetContentText(messageBody)
.SetAutoCancel(true)
.SetContentIntent(pendingIntent);
NotificationManagerCompat notificationManager = NotificationManagerCompat.From(this);
notificationManager.Notify(0, notificationBuilder.Build());
}
catch (Exception ex)
{
}
}
}
有关更多信息,您可以查看我的 SO 问题
如何处理 Firebase 通知,即 Android 中的通知消息和数据消息
- 3 回答
- 0 关注
- 114 浏览
添加回答
举报