这是我的代码
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());
}
当我发送通知时(如果应用程序正在运行(图片左侧)),我的通知不会显示。当应用程序在后台工作时,我的通知显示。我怎么解决这个问题 ?非常感谢你的帮助。
最佳答案
如 official documentation 中所述如果应用程序在后台运行,通知只会自动添加到系统托盘。如果应用程序在前台运行,通知将改为发送到您服务的 onMessageReceived
方法。
因此总结一下基于应用状态的 Firebase 通知会做什么:
- 前台:
onMessageReceived
会处理通知 - 背景:Firebase 会处理通知并将其放入系统托盘中
关于android - 应用程序运行时不显示 Firebase 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38940962/