[英]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" />
請記住,在使用Notification消息時,當您的應用程序處於后台狀態時,不會調用onReceive()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.