簡體   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