我正在使用firebase数据库来创建我的聊天应用程序。现在我已经成功完成了我的聊天应用程序,但是当新消息到达时,即使应用程序未运行,我也希望通知用户在通知栏中发出声音和通知。
我使用以下代码执行此操作
docker exec s10cmd /tmp/data.dat
但它只在我打开聊天活动时设置闹钟,然后在新消息到达时它不会发生任何事情。
这是我的聊天活动代码
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Notifications Example")
.setContentText("This is a test notification");
Intent notificationIntent = new Intent(this, MenuScreen.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(contentIntent);
builder.setAutoCancel(true);
builder.setLights(Color.BLUE, 500, 500);
long[] pattern = {500,500,500,500,500,500,500,500,500};
builder.setVibrate(pattern);
builder.setStyle(new NotificationCompat.InboxStyle());
builder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI)
NotificationManager manager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(1, builder.build());
以下是我的Firebase数据结构文件
感谢任何帮助。提前谢谢。
答案 0 :(得分:0)
如果您使用的是FCM,则需要先了解该部分文档,然后再继续:
为大多数消息类型提供了onMessageReceived,下面列出了以下例外情况:
因此,如果您需要确定您发送到Android设备的有效负载类型。您可能希望使用包含通知和数据有效负载的消息,以便始终调用onMessageRecieved()。
您可以找到更多详情Here