我正在开发一个应用程序,它收到了来自Firbase的通知。当我收到它们时它没有正确显示它们。当我尝试更改图标时,它仍会显示启动器图标。此外,灯光和振动不起作用,inboxStyle也不起作用,它只显示另一个通知。我尝试过NotificationCompat.Builder和Notification.Builder,但是stil不起作用。我的代码显示通知:
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext());
builder.setLights(Color.BLUE, 2000, 2000)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(remoteMessage.getData().get("username"))
.setContentText(remoteMessage.getNotification().getBody())
.setVibrate(new long[]{0,500,0,500})
.setWhen(remoteMessage.getSentTime())
.setAutoCancel(true)
.setStyle(styles)
.setPriority(Notification.PRIORITY_HIGH)
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setContentIntent(pendingIntent);
notificationManager.notify(NOTIFICATION_ID, builder.build());
Firebase是否可能覆盖我的通知,或者这是不可能的?
答案 0 :(得分:0)
行。我发现了我的问题。我通过Firebase云功能获取通知。但是我试图显示方法(onMessageRecieved)的方法仅在Appliction位于前台时才有效。所以我搜索了一下,我发现我必须覆盖handleIntent(Intent intent)
方法,当应用程序在后台时也可以。我不得不在我的代码中更改了Firebase云功能(将相关数据添加到通知中的数据部分),然后我可以通过intent.getStringExtra("String")
从意图中接收数据
。现在它工作正常。