应用程序运行时不显示Firebase通知

时间:2016-08-14 09:39:49

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

这是我的代码

 private void showNotification(String message) {

    NotificationCompat.BigTextStyle stil = new NotificationCompat.BigTextStyle();
    stil.setBigContentTitle("Başıl");
    stil.bigText(message);
    Intent i=new Intent(this,Bilgi.class);
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent=PendingIntent.getActivity(this,0,i,PendingIntent.FLAG_UPDATE_CURRENT);
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
    builder.setAutoCancel(true);
    builder.setSmallIcon(R.mipmap.ic_launcher);
    builder.setTicker("selam dost.mesaj geldi");
    builder.setDefaults(Notification.DEFAULT_ALL);
    builder.setContentIntent(pendingIntent);
    builder.setContentTitle("Bildirim");
    builder.setContentText(message);
    builder.setStyle(stil);
    NotificationManager notificationManager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    notificationManager.notify(0,builder.build());



}

enter image description here

当我发送通知时(如果应用程序正在运行(图片的左侧)),我的通知不会显示。当应用程序在后台工作时,我的通知显示。我怎么解决这个问题 ?非常感谢你的帮助。

1 个答案:

答案 0 :(得分:6)

正如official documentation通知中所述,如果应用在后台运行,则会自动将其添加到系统托盘中。如果应用在前台运行,则会将通知发送到您服务的onMessageReceived方法。

总结一下基于应用状态对Firebase通知的处理方式:

  • 前景onMessageReceived将处理通知
  • 后台:Firebase将处理通知并将其放入系统托盘中