繁体   English   中英

推送通知弹出-Android

[英]Push Notification pop up - Android

                int mNotificationId = 001;
                Bitmap b = BitmapFactory.decodeResource(getResources(),R.drawable.net);

                NotificationCompat.Builder mBuilder =
                        new NotificationCompat.Builder(MainActivity.this)
                                .setSmallIcon(R.drawable.net)
                                .setLargeIcon(b)
                                .setContentTitle("My notification")
                                .setDefaults(NotificationCompat.DEFAULT_ALL)
                                .setPriority(NotificationCompat.PRIORITY_MAX)
                                .setContentText("Hello World! ");

                NotificationManager mNotifyMgr =
                        (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                mNotifyMgr.notify(mNotificationId, mBuilder.build());

我在按钮单击上使用上面的代码以在android上生成推送通知,并且由于我设置了优先级-MAX,因此在我将其滑出屏幕及其然后在通知抽屉中可用。

我已经为我的FCM服务在onReceive上编写了相同的代码。 但是,当我从FCM发出通知时,如果该应用程序在后台运行,则不会弹出窗口,并且该通知会直接在通知栏中显示为图标。 此外,即使指定的图标也不会显示。 (R.drawable.net)

我需要将通知作为弹出窗口,并且还想知道如何将drawable设置为通知图标。

FCM中有两种通知类型。

1. 通知消息 -当应用程序在后台运行时,这些消息由FCM SDK自动处理,并在应用程序在前台运行时传递给您的接收者。

2. 数据消息 -由客户端应用处理。 这些仅是接收者的手柄。

根据您的问题,我认为您正在使用**。Notification消息**,它们是高优先级消息。 通知消息的格式应为:-

{
 "message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
  "title":"Portugal vs. Denmark",
  "body":"great match!"
}
}
}

您可以从服务器传递一些自定义参数来构建通知。 要添加应用程序图标,以下是清单条目。

<meta-data android:name="com.google.firebase.messaging.default_notification_icon"
    android:resource="@drawable/notification_icon" />


 <meta-data    android:name="com.google.firebase.messaging.default_notification_color"
    android:resource="@color/color_blue" />

使用通知编写器发送消息。 阅读关于FCM消息处理消息

请记住,在使用Notification消息时,当您的应用程序处于后台状态时,不会调用onReceive()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM