如何在后台编辑通知来自Firebase?

时间:2016-12-29 23:32:18

标签: android android-studio firebase firebase-cloud-messaging

我有一个应用程序从Firebase收到通知,但它没有声音和应用程序的图标。

在onMessageReceived()方法中,我可以编辑通知,但它不能在后台运行。

解决方案是什么?

2 个答案:

答案 0 :(得分:0)

从您的服务器发送:

  {
    "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification" : {
      "body" : "Hello World!",
      "title" : "My app",
      "icon" : "myicon"
      "sound":"mysound"
    }

  }

声音文件必须位于/ res / raw /和/ res / drawable中的图标。

从Firebase控制台

enter image description here

当你的应用被杀死时编辑通知是不可能的,因为android系统处理通知。

答案 1 :(得分:0)

嘿,请检查此代码。

 private void showNotification(NotificationCompat.Builder mBuilder, int icon, String title, String message, String timeStamp, PendingIntent resultPendingIntent, Uri alarmSound)
{
    NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
    inboxStyle.addLine(message);
    Notification notification;
    notification = mBuilder.setSmallIcon(icon).setTicker(title).setWhen(0)
            .setAutoCancel(true)
            .setContentTitle(title)
            .setContentIntent(resultPendingIntent)
            .setSound(alarmSound)
            .setStyle(inboxStyle)
            .setWhen(getTimeMilliSec(timeStamp))
            .setSmallIcon(R.mipmap.ic_launcher)
            .setLargeIcon(BitmapFactory.decodeResource(mContext.getResources(), icon))
            .setContentText(message)
            .build();

    NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(Config.NOTIFICATION_ID, notification);
}