这是我的代码
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());
}
当我发送通知时(如果应用程序正在运行(图片的左侧)),我的通知不会显示。当应用程序在后台工作时,我的通知显示。我怎么解决这个问题 ?非常感谢你的帮助。
答案 0 :(得分:6)
正如official documentation通知中所述,如果应用在后台运行,则会自动将其添加到系统托盘中。如果应用在前台运行,则会将通知发送到您服务的onMessageReceived
方法。
总结一下基于应用状态对Firebase通知的处理方式:
onMessageReceived
将处理通知